有时需为视图属性指定大小尺寸值(一般以像素为单位,但有时也用点、毫米或英寸)。最多见的属性有:字体
Android 使用 drawable-ldip、drawable-mdip 以及 drawable-hdip 三个目录下的图像文件自动适配不一样像素密度的屏幕。假如图像完成了自动适配,但边距没法缩放适配,又或者用户配置了大于默认值的文字大小,会发生什么状况呢?spa
为解决这些问题,Android 提供了密度无关的尺寸单位(density-independent dimension units)。使用这种单位,可在不一样屏幕密度的设备上获取一样大小的尺寸。无需麻烦的转换计算,应用运行时,Android 会自动将这种单位转换成像素单位。ip
英文 density-independent pixel 的缩写形式,意为密度无关像素。在设置边距、内边距或任何不打算按像素值指定尺寸的状况下,一般都使用 dp 这种单位。若是设备屏幕密度较高,密度无关像素会相应扩展至整个屏幕。1dp 单位在设备屏幕上老是等于 1/160 英寸。使用 dp 的好处是,不管屏幕密度如何,总能得到一样的尺寸。开发
英文 scale-independent pixel 的缩写形式,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。咱们一般会用 sp 来设置屏幕上的字体大小。it
相似与 dp 的缩放单位。容许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。但在实际开发中不建议使用这些单位,由于并不是全部设备都能按照这些单位进行正确的尺寸缩放配置。io