0

私はこれをAndroidのドキュメントで見つけました:

dp単位から画面ピクセルへの変換は簡単です。px = dp * (dpi / 160)

dpiしかし、私はそれが何であり、それがどのように計算されるのか理解していません。何か助けはありますか?

4

4 に答える 4

2

dpi は Dots Per Inch の略です。Android では、モバイルの画面密度を表すために使用されます。

Android スマートフォンは 4 種類の dpi をサポートしています

  1. 低密度 (120)、ldpi
  2. 中密度 (160)、mdpi
  3. 高密度 (240)、hdpi
  4. 超高密度 (320)、xhdpi

DisplayMetrics構造体からディスプレイに関する情報を取得できます。

DisplayMetrics metrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(metrics);

画面サイズの詳細については、http://developer.android.com/guide/practices/screens_support.htmlにアクセスしてください。

于 2012-09-21T11:40:02.027 に答える
1

dpidot-per-inch の略で、あらゆる画面の物理的特性です。

クラスの フィールドxdpiydpiフィールドを調べることで、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
于 2012-05-02T23:35:04.847 に答える
1

おそらく、DP 計算機で遊んでみると、これがどのように機能するかがわかります。私の意見では、この気の利いたコンバーターはそれを最もよく示しています。

これは、密度の異なる画面間で、ピクセルの寸法が物理的な寸法としてどのように表示されるかを示しています。たとえば、48px は、DPI が 2 倍の画面では半分の大きさに表示されます。

Android で認識されているさまざまな DPI ビンがあります。

  • ldpi、120 dpi
  • mdpi、160dpi
  • tvdpi、213 dpi
  • hdpi、240dpi
  • xhdpi、320 dpi
  • xxhdpi、480 dpi
  • xxxhdpi、640 dpi

ベースライン DPI は 160 (mdpi) で、1dp = 1px です。その値の 2 倍の 320 (xhdpi)、1dp = 2px です。

于 2014-07-01T09:33:40.047 に答える
0

この投稿を読んでください。答えが得られると思います:)

Androidの「px」、「dp」、「dip」、「sp」の違いは何ですか?

于 2012-05-03T04:49:43.850 に答える