屏幕像素密度
1英寸=2.54厘米
px
pixel的缩写,即像素。无论屏幕密度是多少,一个像素单位对应一个屏幕像素单位。不推荐使用px,因为它不会根据屏幕密度自动缩放。dp(或dip)
density-independent pixel的缩写,意为密度无关像素。通常,在设置边距、内边距或任何不打算按像素值指定尺寸的情况下,都使用dp这种单位。1dp在设备屏幕上总是等于1/160英寸。使用dp的好处是,无论屏幕密度如何,总能获得同样的尺寸。如果屏幕密度较高,那么密度无关像素会相应扩展至整个屏幕。sp
scale-independent pixel的缩写,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。sp通常用来设置屏幕上的字体大小。pt、mm、in 类似于dp的缩放单位,允许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。实际开发中不建议使用这些单位,因为并非所有设备都能按照这些单位进行正确的尺寸缩放配置。
在实际开发中,通常只会用到dp和sp这两种单位。Android会在运行时自动将它们的值转换为像素单位。