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

时间:2013-12-21 10:16:31

标签: android

这个定义是否正确?

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

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

官方documentation假定按比例缩放等式“px = dp *(dpi / 160)”。 另外here(3:02)Roman Nurik说“按比例缩放

但在官方文件中:

  

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

如果我的定义是正确的,如果我们已经知道mm,in和pt,为什么要引入一个新的物理尺寸测量?

2 个答案:

答案 0 :(得分:6)

mmin之类的衡量单位会因为dp测量相同的真实世界观察长度而不那么混乱。另一方面,这会产生误导,因为dp不是绝对定义的单位。

屏幕密度桶的使用意味着dp有点模糊 - 但它将保持在合理(+/- 20%?)精度内。真实世界的显示器通常不完全是160dpi,它们可以是173.4 dpi,仍然被归类为160dpi。根据这些存储桶执行从dp转换为像素的数学运算,这意味着dp的准确性取决于设备屏幕与其分类的准确程度。

但是要清除你的怀疑:160dp总是1(模糊)英寸,无论你手里拿着什么设备。更容易想到:50dp = 1(小)手指宽。


另一方面,

px Pixels是实际像素。全高清显示器有1920x1080,但该单元没有说明屏幕尺寸或这样的像素对用户有多大。 dpdip是一个不同的单位,在我看来应该从未被称为“像素”。

答案 1 :(得分:1)

20:00之后退房

http://www.youtube.com/watch?v=pBKGbCu0pJg&list=PLWz5rJ2EKKc8j2B95zGMb8muZvrIy-wcF

加入Nick Butcher,Adam Koch和Roman Nurik讨论有关Android计量单位的所有内容。