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

6

这个定义正确吗?

dp 密度无关像素 - 基于屏幕的物理大小,1/160 英寸。

我找到了相互矛盾的信息:

官方文档假设在等式“px = dp * (dpi / 160)”中“按比例缩放”。 也在这里(3:02) Roman Nurik说“按比例缩放”。

但在官方文档中:

px 像素 - 对应于屏幕上的实际像素。以英寸为单位 - 基于屏幕的物理大小。mm 毫米 - 基于屏幕的物理大小。pt 点 - 相当于屏幕上的1/72英寸。dp 密度无关像素 - 一个抽象的单位,基于屏幕的物理密度。这些单位是相对于160 dpi(每英寸点数)屏幕而言的,其中1dp大约等于1px。在高密度屏幕上运行时,用于绘制1dp的像素数量将按适合屏幕dpi的因子进行缩放。同样,在低密度屏幕上,用于1dp的像素数量将被缩小。 dp到像素的比率将随着屏幕密度而改变,但不一定是成比例的。

如果我的定义正确,为什么要引入新的物理尺寸测量方式,如果我们已经有众所周知的毫米、英寸和点(pt)?

2个回答

8
一个像mmin这样的测量单位会更容易理解,因为dp测量相同的真实世界观察长度。但是,另一方面,dp不是绝对定义的单位,因此可能会产生误导。
使用屏幕密度桶意味着dp有点模糊,但它将保持在合理的(+/-20%?)范围内。真实世界的显示通常不完全是例如160dpi,它们可以是173.4dpi,并仍然被分类为160dpi。从dp转换为屏幕上的像素所进行的数学计算是基于这些桶来完成的,这意味着dp的精度取决于您的设备屏幕如何符合其分类。
但是要消除您的疑虑:无论您手中拿着什么设备,160dp始终是1(模糊的)英寸。更容易想象:50dp = 1(小)指宽。
另一方面,px Pixels是实际像素。全高清显示器具有其中的1920x1080个像素,但该单位并未说明屏幕大小或此类像素在用户看来有多大。我认为,dpdip是不同的单位,不应该被称为“像素”。

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接