Android dp是否基于屏幕的物理尺寸?(dp=1/160英寸)

Android dp是否基于屏幕的物理尺寸?(dp=1/160英寸),android,Android,这个定义正确吗 dp密度无关像素-基于屏幕的物理尺寸为1/160英寸 我发现了相互矛盾的信息: 官方假设在等式“px=dp*(dpi/160)”中按比例缩放。 另外(3:02)罗马努里克说“按比例缩放” 但在官方文件中: 像素-对应于屏幕上的实际像素。英寸- 基于屏幕的物理大小。毫米-基于 屏幕的物理大小。pt点-1/72英寸,基于 屏幕的物理大小。与密度无关的像素 基于屏幕物理密度的抽象单位。 这些单位与160 dpi(每英寸点数)屏幕相对,屏幕上 1dp大致等于1px。在高密度屏幕上运行时,

这个定义正确吗

dp密度无关像素-基于屏幕的物理尺寸为1/160英寸

我发现了相互矛盾的信息:

官方假设在等式“px=dp*(dpi/160)”中按比例缩放。 另外(3:02)罗马努里克说“按比例缩放”

但在官方文件中:

像素-对应于屏幕上的实际像素。英寸- 基于屏幕的物理大小。毫米-基于 屏幕的物理大小。pt点-1/72英寸,基于 屏幕的物理大小。与密度无关的像素 基于屏幕物理密度的抽象单位。 这些单位与160 dpi(每英寸点数)屏幕相对,屏幕上 1dp大致等于1px。在高密度屏幕上运行时, 用于绘制1dp的像素数按比例放大 适用于屏幕的dpi。同样,当密度较低时 屏幕上,用于1dp的像素数按比例缩小。比例 dp到像素将随屏幕密度而变化,,但不一定 成正比


如果我的定义是正确的,那么如果我们已经有了众所周知的mm、in和pt,为什么还要引入一种新的物理尺寸度量呢?

mm
in
这样的度量单位会更容易混淆,因为
dp
测量的是相同的实际观测长度。另一方面,由于
dp
不是一个绝对定义的单位,因此它会产生误导

使用屏幕密度桶意味着
dp
有点模糊-但它将保持在合理的(+/-20%?)精度范围内。现实世界中的显示器通常不完全相同,例如160dpi。它们可以是173.4dpi,但仍被归类为160dpi。将
dp
转换为屏幕上像素的数学运算是基于这些桶完成的,这意味着
dp
的精度取决于设备屏幕满足其分类的精度

但为了澄清你的疑问:不管你手里拿着什么样的设备,160dp总是1(模糊)英寸。更容易想到:50dp=1(小)指宽



另一方面,px像素是实际像素。一个全高清显示器有1920x1080个像素,但是这个单元并没有说明屏幕的大小或者这样一个像素对用户来说会有多大
dp
dip
是一个不同的单位,在我看来,不应该被称为“像素”。

在20:00后查看此项

加入Nick Butcher、Adam Koch和Roman Nurik讨论所有关于Android度量单位的话题