0

我在 Android 文档中找到了这个:

dp 单位到屏幕像素的转换很简单:px = dp * (dpi / 160)

但我不明白它是什么dpi以及它是如何计算的。有什么帮助吗?

4

4 回答 4

2

dpi 代表每英寸点数。在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

dpi代表每英寸点数,是任何屏幕的物理特征。

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
于 2012-05-02T23:35:04.847 回答
1

也许玩 DP 计算器会说明这是如何工作的。在我看来,这个漂亮的转换器最好地展示了它。

它说明了像素尺寸如何在不同密度的屏幕之间显示为不同的物理尺寸。例如,48px 将在两倍 DPI 的屏幕上显示一半大。

Android 已知有多种 DPI bin:

  • 低密度像素,120 dpi
  • mdpi, 160 dpi
  • 电视分辨率,213 dpi
  • 高清,240 dpi
  • xhdpi, 320 dpi
  • xxhdpi,480 dpi
  • xxxhdpi, 640 dpi

基线 DPI 为 160 (mdpi),其中 1dp = 1px。在该值的两倍处,320 (xhdpi),1dp = 2px。

于 2014-07-01T09:33:40.047 回答
0

请通过这篇文章,我想你会得到你的答案:)

Android上的“px”、“dp”、“dip”和“sp”有什么区别?

于 2012-05-03T04:49:43.850 回答