7

我是安卓新手。我读过关于 DP 但我仍然感到困惑。在一个定义中,它说 - dp(与密度无关的像素):基于屏幕密度的抽象单位。在每英寸 160 点的显​​示器上,1dp = 1px。

这是否意味着 - 160 点 = 1 dp = 1 像素(每个点是 1 像素,对吗?)或 160 点中的 1 dp = 1 点(像素)

请澄清

4

2 回答 2

14

与密度无关的像素是定义 UI 布局时应使用的虚拟像素单位,以与密度无关的方式表示布局尺寸或位置。

与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,这是系统为“中等”密度屏幕假定的基线密度。在运行时,系统会根据使用中屏幕的实际密度,根据需要透明地处理 dp 单位的任何缩放。dp 单位到屏幕像素的转换很简单:

px = dp * (dpi / 160)

例如,在 240 dpi 的屏幕上,1 dp 等于 1.5 个物理像素。在定义应用程序的 UI 时,您应该始终使用 dp 单位,以确保您的 UI 在不同密度的屏幕上正确显示。

对于 160 dpi 屏幕,1 dp 等于 1 px。

请参阅博客和答案。

于 2012-09-01T05:27:29.457 回答
0

android文档说-

与密度无关的像素相当于 160 dpi 屏幕上的一个物理像素,这是平台假定的基线密度(如本文档后面所述)。在运行时,平台会根据使用的屏幕的实际密度透明地处理所需的 dp 单位的任何缩放。dp 单位到屏幕像素的转换很简单:像素 = dps * (密度 / 160)。例如,在 240 dpi 屏幕上,1 dp 等于 1.5 个物理像素。强烈建议使用 dp 单位来定义应用程序的 UI,以确保在不同屏幕上正确显示 UI。

你可以看看支持的多屏。你也可以看看这个问题

于 2012-09-01T05:21:29.777 回答