原文:file:///D:/AndroidDevelop/android-sdk/docs/guide/topics/resources/more-resources.html#Dimension
尺寸:
dp:
密度无关象素-一个基于屏幕物理密度的抽象单位。这些单位都是相对于一个160dpi(点每英寸)的屏幕而言。因此,不论屏幕密度是多少,160dp就等于一象素。
这个“密度无关象素 到 象素”的比率将会随屏幕密度发生变化,而不是以一个给定值给出。当在布局中指定视图的尺寸时,应当使用这些单位,UI将会以在不同的屏幕中
以相同的实际尺寸适当的进行转换以渲染视图。(编译器接受“dp”与“dip”为等同)
sp:
绽放无知象素-它就像上述的单位dp,但它在缩放中还参照于用户字体大小的偏好。当在指定字体大小时,建议使用此单位,以使字的尺寸会依屏幕密度与用户偏好来进行调整。
[理解举例:
如果屏幕密度为 160,这时 dp和 sp和px 是一样的。1dp=1sp=1px,但如果使用px 作单位,如果屏幕大小不变(假设还是3.2寸),而屏幕密度变成了320。那么原来 TextView 的宽度设成160px,在密度为320 的3.2寸屏幕里看要比在密度为 160 的 3.2寸屏幕上看短了一半。但如果设置成 160dp或 160sp 的话。系统会自动将width 属性值设置成 320px 的。也就是160 * 320 / 160。其中320 / 160可称为密度比例因子。也就是说,如果使用 dp和 sp,系统会根据屏幕密度的变化自动进行转换。
]
pt:
点-1/72英寸,它基于屏幕的物理尺寸。
px:
象素-取决非于屏幕的实际象素点数。并不推荐使用这种尺寸单位,因为实际的分辨率是随不同设备而变的;每个设备每英寸有不同的象素点数,以及有更多或更少的象素点数在屏幕上。
mm:
毫米-基于屏幕的物理尺寸。
in:
英寸-基于屏幕的物理尺寸。