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的转换

这个根据显示器的分辨率来做相关的转换即可。

更多相关文章

  1. 专题 - Web应用->Web应用中适配不同屏幕
  2. 再议屏幕适配
  3. Android(安卓)Web App官方文档翻译第二章:屏幕适配
  4. android屏幕分类与屏幕相关参数定义
  5. UI设计基础知识点之Android设计规范篇
  6. android eclipse 根据屏幕密度自动生成不同分辨率的图片
  7. Android多分辨率多屏幕密度下UI适配方案
  8. android中像素单位dp、px、pt、sp转换
  9. Android获取屏幕分辨率及DisplayMetrics简介 和java获得屏幕宽度

随机推荐

  1. Android Media (Audio) Framework Analys
  2. Android编程实现屏幕自适应方向尺寸与分
  3. 20172321 2017-2018-2 《程序设计与数据
  4. Android图形系统分析与移植 -- 五、Andro
  5. Android(安卓)Fragment---创建Fragment
  6. Android学习进阶和IoC
  7. Android中自定义控件和属性
  8. Android Launcher 分析
  9. Android之RelativeLayout属性
  10. Android 相对布局 RelativeLayout 属性