android定义密度独立像素



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

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

请澄清

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

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

px = dp * (dpi / 160)

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

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

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

android文档说-

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

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

最新更新