这个定义是否正确?
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,为什么要引入一个新的物理尺寸测量?
答案 0 :(得分:6)
mm
或in
之类的衡量单位会因为dp
测量相同的真实世界观察长度而不那么混乱。另一方面,这会产生误导,因为dp
不是绝对定义的单位。
屏幕密度桶的使用意味着dp
有点模糊 - 但它将保持在合理(+/- 20%?)精度内。真实世界的显示器通常不完全是160dpi,它们可以是173.4 dpi,仍然被归类为160dpi。根据这些存储桶执行从dp
转换为像素的数学运算,这意味着dp
的准确性取决于设备屏幕与其分类的准确程度。
但是要清除你的怀疑:160dp总是1(模糊)英寸,无论你手里拿着什么设备。更容易想到:50dp = 1(小)手指宽。
px Pixels
是实际像素。全高清显示器有1920x1080,但该单元没有说明屏幕尺寸或这样的像素对用户有多大。 dp
或dip
是一个不同的单位,在我看来应该从未被称为“像素”。
答案 1 :(得分:1)
20:00之后退房
http://www.youtube.com/watch?v=pBKGbCu0pJg&list=PLWz5rJ2EKKc8j2B95zGMb8muZvrIy-wcF
加入Nick Butcher,Adam Koch和Roman Nurik讨论有关Android计量单位的所有内容。