私はこれをAndroidのドキュメントで見つけました:
dp単位から画面ピクセルへの変換は簡単です。
px = dp * (dpi / 160)
dpi
しかし、私はそれが何であり、それがどのように計算されるのか理解していません。何か助けはありますか?
私はこれをAndroidのドキュメントで見つけました:
dp単位から画面ピクセルへの変換は簡単です。
px = dp * (dpi / 160)
dpi
しかし、私はそれが何であり、それがどのように計算されるのか理解していません。何か助けはありますか?
dpi は Dots Per Inch の略です。Android では、モバイルの画面密度を表すために使用されます。
Android スマートフォンは 4 種類の dpi をサポートしています
DisplayMetrics構造体からディスプレイに関する情報を取得できます。
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
画面サイズの詳細については、http://developer.android.com/guide/practices/screens_support.htmlにアクセスしてください。
dpi
dot-per-inch の略で、あらゆる画面の物理的特性です。
クラスの フィールドxdpi
とydpi
フィールドを調べることで、x と y の dpi 値にアクセスできます。DisplayMetrics
次のようなものをDisplayMetrics
使用するには...
DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);
float x = metrics.xdpi; // Retrieve the x dpi value
float y = metrics.ydpi; // Retrieve the y dpi value
おそらく、DP 計算機で遊んでみると、これがどのように機能するかがわかります。私の意見では、この気の利いたコンバーターはそれを最もよく示しています。
これは、密度の異なる画面間で、ピクセルの寸法が物理的な寸法としてどのように表示されるかを示しています。たとえば、48px は、DPI が 2 倍の画面では半分の大きさに表示されます。
Android で認識されているさまざまな DPI ビンがあります。
ベースライン DPI は 160 (mdpi) で、1dp = 1px です。その値の 2 倍の 320 (xhdpi)、1dp = 2px です。
この投稿を読んでください。答えが得られると思います:)