2017-11-22 14 views
1

私は、アプリケーションに複数のスクリーンをサポートする能力を与えるために "dp"を使うべきであることを知りました。しかし、私は実際には、これはうまくないことがわかります。アンドロイド密度バケットに関する問題

例を示します。2つの画面があるとします。画面Aの解像度は160×160ピクセルで、長さと幅は1インチです。画面Bは1600×1600ピクセル、長さと幅は10インチの解像度を持っています。密度バケットの定義によると、2つの画面の両方がmdpi(中)〜160dpiになります。したがって、これらの画面を使用している電話機の両方で、同じレイアウトと描画可能ファイルが使用されます。しかし、160dpiの場合、1dpを1pxに変換することができます。つまり、画面Aの幅は160dp、画面Bの幅は1600dpです。 300 dpに設定された画像を画面に表示しようとすると、その結果はまったく違ってきます。だから私は複数の画面をサポートするためにアンドロイドがdpに頼っているのか、このコンセプトに関するいくつかの誤解があるのだろうかと思います。

答えて

0

dp/dip(濃度非依存ピクセル) - これは、画面のインチ/密度ごとにピクセルによって異なります。画素の

比率DPする

  1. 画面サイズ160ピクセル - > 1DP = 1ピクセル
  2. 画面サイズ1600px - > 1DP = 300dpとビューについて

10pxの、それが占有する300 160 x 160px解像度のピクセル、および1600 x 1600px解像度の3000ピクセルです。

解像度の詳細:Android Screen Resolution

+0

あなたは間違っていると思います。画面サイズ1600pxは必ずしも1dp = 10pxを意味するわけではありません。 1dp = 10 pxは1600dpiでのみ発生します。画面Aと画面Bはともに160dpiです。 – jeep

関連する問題