现在这里介绍一下 dp 和 sp 。 dp 也就是 dip 。这个和 sp 基本类似。如果设置表示长度、高度等属性时可以使用 dp 或 sp 。但如果设置字体,需要使用 sp 。 dp 是与密度无关, sp 除了与密度无关外,还与 scale 无关。如果屏幕密度为 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 ,系统会根据屏幕密度的变化自动
进行转换。
下面看一下其他单位的含义
px :表示屏幕实际的象素。例如, 320*480 的屏幕在横向有 320 个象素,
在纵向有 480 个象素。
in :表示英寸,是屏幕的物理尺寸。每英寸等于 2.54 厘米。例如,形容
手机屏幕大小,经常说, 3.2 (英)寸、 3.5 (英)寸、 4 (英)寸就是指这个
单位。这些尺寸是屏幕的对角线长度。如果手机的屏幕是 3.2 英寸,表示手机
的屏幕(可视区域)对角线长度是 3.2*2.54 = 8.128 厘米。读者可以去量
一量自己的手机屏幕,看和实际的尺寸是否一致。