Android推荐使用的尺寸单位dp和sp
1、前言
在Android中有一个专门用来讲解这些尺寸单位的指导。参考官网Dimension。
2、尺寸(dimension)
10px,2in,5sp等等带有单位的就是尺寸资源,Android中支持如下的用来测量长度的尺寸资源:dp、sp、pt、px、mm和in。
dp (Density-independent Pixels)与密度无关的像素,基于屏幕密度的抽象单位。在每英寸160个点的屏幕上,1dp与1px大致相等。当运行在更高/更低密度的屏幕上,1dp中的像素数根据屏幕的dpi(dots per inch)数而按比例决定。这个dp与(pixel)像素比例根据屏幕密度而变化。使用dp单位(而不是px单位) 是一个简单的解决方法,使我们的布局能自适应不同的屏幕密度,在不同的设备间能保持一致的展示真实的UI元素的尺寸。
sp (Scale-independent Pixels)与刻度无关的像素,与dp类似,建议使用sp来用于用户的字体,这样也可以根据屏幕密度和用户的字体大小设置来调整。
pt (Points)是1/72 in(英寸)。
px (Pixels)是像素,屏幕上的真实像素,在真实环境中,使用不同的设备显示时,不建议使用。不同的设备显示效果不同。
mm (Millimeters)是毫米
in (Inches)是英寸(Inches,1英寸=25.4毫米)
以上涉及到2个专业的术语:“与密度无关”的像素,“与刻度无关”的像素。这个应该是和位图和矢量图有关吧(不太懂。O 。)。
3、到底改用哪个单位呢?
其实2中已经说明了各单位应该使用的场景了。因为现在的显示器支持不同的分辨率,所以为了在不同的分辨率上显示达到一致的效果从而就有了dp和sp两个单位了。
总结: 表示字体的大小的时候使用sp为单位,其他情况都是用dp作为单位。
4、dp与px的转换,sp和px的转换
这个根据显示器的分辨率来做相关的转换即可。
更多相关文章
- 专题 - Web应用->Web应用中适配不同屏幕
- 再议屏幕适配
- Android(安卓)Web App官方文档翻译第二章:屏幕适配
- android屏幕分类与屏幕相关参数定义
- UI设计基础知识点之Android设计规范篇
- android eclipse 根据屏幕密度自动生成不同分辨率的图片
- Android多分辨率多屏幕密度下UI适配方案
- android中像素单位dp、px、pt、sp转换
- Android获取屏幕分辨率及DisplayMetrics简介 和java获得屏幕宽度