Android 编程下 DP、SP 以及屏幕像素密度
2016-01-20 15:54
267 查看
有时需为视图属性指定大小尺寸值(通常以像素为单位,但有时也用点、毫米或英寸)。最常见的属性有:
文字大小(Text Size),指设备上显示的文字像素高度;
边距(Margin),指定视图组件间的距离;
内边距(Padding),指定视图外边框与其内容间的距离。
Android 使用 drawable-ldip、drawable-mdip 以及 drawable-hdip 三个目录下的图像文件自动适配不同像素密度的屏幕。假如图像完成了自动适配,但边距无法缩放适配,又或者用户配置了大于默认值的文字大小,会发生什么情况呢?
为解决这些问题,Android 提供了密度无关的尺寸单位(density-independent dimension units)。使用这种单位,可在不同屏幕密度的设备上获取同样大小的尺寸。无需麻烦的转换计算,应用运行时,Android 会自动将这种单位转换成像素单位。
dp
英文 density-independent pixel 的缩写形式,意为密度无关像素。在设置边距、内边距或任何不打算按像素值指定尺寸的情况下,通常都使用 dp 这种单位。如果设备屏幕密度较高,密度无关像素会相应扩展至整个屏幕。1dp 单位在设备屏幕上总是等于 1/160 英寸。使用 dp 的好处是,无论屏幕密度如何,总能获得同样的尺寸。
sp
英文 scale-independent pixel 的缩写形式,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。我们通常会用 sp 来设置屏幕上的字体大小。
pt、mm、in
类似与 dp 的缩放单位。允许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。但在实际开发中不建议使用这些单位,因为并非所有设备都能按照这些单位进行正确的尺寸缩放配置。
文字大小(Text Size),指设备上显示的文字像素高度;
边距(Margin),指定视图组件间的距离;
内边距(Padding),指定视图外边框与其内容间的距离。
Android 使用 drawable-ldip、drawable-mdip 以及 drawable-hdip 三个目录下的图像文件自动适配不同像素密度的屏幕。假如图像完成了自动适配,但边距无法缩放适配,又或者用户配置了大于默认值的文字大小,会发生什么情况呢?
为解决这些问题,Android 提供了密度无关的尺寸单位(density-independent dimension units)。使用这种单位,可在不同屏幕密度的设备上获取同样大小的尺寸。无需麻烦的转换计算,应用运行时,Android 会自动将这种单位转换成像素单位。
dp
英文 density-independent pixel 的缩写形式,意为密度无关像素。在设置边距、内边距或任何不打算按像素值指定尺寸的情况下,通常都使用 dp 这种单位。如果设备屏幕密度较高,密度无关像素会相应扩展至整个屏幕。1dp 单位在设备屏幕上总是等于 1/160 英寸。使用 dp 的好处是,无论屏幕密度如何,总能获得同样的尺寸。
sp
英文 scale-independent pixel 的缩写形式,意为缩放无关像素。它是一种与密度无关的像素,这种像素会受用户字体偏好设置的影响。我们通常会用 sp 来设置屏幕上的字体大小。
pt、mm、in
类似与 dp 的缩放单位。允许以点(1/72英寸)、毫米或英寸为单位指定用户界面尺寸。但在实际开发中不建议使用这些单位,因为并非所有设备都能按照这些单位进行正确的尺寸缩放配置。
相关文章推荐
- Android ServiceConnection
- Android进程间通信之使用Messenger
- Android notifications通知栏的使用
- Android手机录屏并制作Gif
- Android系统字体规范与应用探索
- android 获取顶部状态栏 信息 高度
- 编码格式批转换,将指定编码转换为设置的编码
- Android 修改通知栏一条信息的显示高度
- android SharedPreference保存数据工具
- Android基于Bmob群聊功能的实现
- Android清单文件android:allowBackup=”false”的使用
- android 多进程
- Android Handler内存泄漏解决方法
- TextView的多彩效果 SpannableString
- Android得到视频缩略图
- Android SQlite性能优化
- Android中ExpandableListView控件基本使用详情
- Android自定义View——可设置形状(圆形、圆角矩形、椭圆)的ImageView,抗锯齿
- android 监听HOME键和开关屏的工具类
- Android ComponentName的用法