1、文字大小(text size),指定设备上显示的文字像素高度;
2、边距(margin),指定视图组件间的距离;
3、内边距(padding),指定视图外边框与其内容间的距离。
在南昌APP开发中,Android使用密度修饰drawable目录下的图像文件自动适配不同像素密度的屏幕。那么问题来了,假如图像完成了自动适配,但边距无法缩放适配,又或者用户配置了大于默认值的文字大小,会发生什么情况呢?
为解决这些问题,Android提供了密度无关的尺寸单位。使用这种单位,可在不同屏幕密度的设备上获得同样的尺寸。无需进行麻烦的转换计算,应用运行时,Android会自动将这种单位转换成像素单位。图1展示了这种尺寸单位在Textview上的应用。
图1 应用在Textview上的密度无关尺寸单位(左:MDPI;中:HDPI;右:HDPI+大字体)
1、dp(或dip)
英文density-independent pixel的缩写,意为密度无关像素。在设置边距、内边距或任何不打算按像素值指定尺寸的情况下,通常都使用dp这种单位。如果设备屏幕密度较高,密度无关像素会相应扩展至整个屏幕。1dp单位在设备屏幕上总是等于1/160英寸。使用dp的好处是,无论屏幕密度如何,总能获得同样的尺寸。
2、sp
英文scale-independent pixel的缩写,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。我们通常会使用sp来设置屏幕上的字体大小。
3、pt、mm、in
类似于dp的缩放单位。允许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。但在实际开发中不建议使用这些单位,因为并非所有设备都能按照这些单位进行正确的尺寸缩放配置。
以上Android开发中常用到的几种尺寸单位,大家可以了解一下!最后,百恒网络想说的是,在实际开发中,我们一般情况下只会用到dp和sp两种单位。Android在运行时会自动将它们的值转换为像素单位。