android定义与密度无关的像素

我是新来的android。 我读了关于DP,但仍然困惑。 在一个定义中,它表示:dp(与密度无关的像素):基于屏幕密度的抽象单位。 在每英寸160点的显示器上,1dp = 1px。

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

请澄清

Solutions Collecting From Web of "android定义与密度无关的像素"

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

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

px = dp * (dpi / 160)

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

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

参考这个博客和这个答案。

android文档说 –

与密度无关的像素相当于160dpi屏幕上的一个物理像素,即平台假设的基准密度(如本文后面所述)。 在运行时,平台透明地处理所需的dp单位的任何缩放,基于所使用的屏幕的实际密度。 dp单位到屏幕像素的转换很简单:像素= dps *(密度/ 160)。 例如,在240 dpi屏幕上,1 dp将等于1.5个物理像素。 强烈build议使用dp单位定义您的应用程序的用户界面,作为确保在不同屏幕上正确显示您的用户界面的一种方式。

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