07
2020
07

Android 中的长度单位详解

现在这里介绍一下 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 厘米。读者可以去量


一量自己的手机屏幕,看和实际的尺寸是否一致。

« 上一篇 下一篇 »

发表评论:

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。