2016-06-27 5 views
0

私は、プログラムで画面上にビューを描画するプロジェクトに取り組んでいます。デバイスの密度に基づいてLayoutParamsを設定します。このビューは、ハイエンドのデバイスでは大きなサイズで、低密度のデバイスでは小さくする必要があります。密度の変化に使用できる乗数の値はありますか?デバイス密度に基づいたキャンバス上の描画

+0

[ハイエンドデバイスでキャンバス問題に描画]の可能な重複(http://stackoverflow.com/questions/ 37988804 /絵画 - キャンバス - 発行 - イン - hハイエンド端末) –

答えて

0

この回答を確認してくださいhttps://stackoverflow.com/a/4766229/5476209これは、デバイスが高または低または中濃度の画面解像度である場合に表示されます。また

あなたは以下http://www.androidwarriors.com/2016/01/how-to-find-different-devices-screen.html

デバイス密度を得ることができる最も簡単なコードスニペットがあるここに行くすべてのデバイスのほとんどのために働く汎用コードを作成したい場合は、このコードをチェックし、それは整数値を返します

DisplayMetrics metrics = new DisplayMetrics();  
getWindowManager().getDefaultDisplay().getMetrics(metrics);  
int screenDensity = metrics.densityDpi; 

0.75 - 低密度、1 - 中密度、1.5 - 高密度2.0 - 余分高密度

+0

一般的なコードが明らかに必要です。しかし、私はすべてのデバイスで動作させるために使用する乗数の価値について混乱しています。 – Jas

+1

私の知る限り、独自のメソッドを作成する必要があります。上記のスニペットで返された整数値を取得し、ロジック@Jas – TapanHP

+0

http://stackoverflow.com/questions/37988804/drawingを使用して、独自のパラメータ化メソッドを作成できます。 Canon-Canvas-High-End-Devicesで発行されています。これは私が最後に投稿した別の質問です。それは私が使用しているコードスニペットを含んでいます。それを確認してください – Jas

関連する問題