一、简介

首先要说的是,Android的碎片化的问题非常严重。因为 Android 厂商非常多,设备非常多,产生了各种各样的分辨率。
为了解决碎片化的问题,Android 开发文档中定义了 dp,sp 等新的单位

二、屏幕的基本知识

  • mm:millmeters 毫米,长度单位

  • in:inches 英寸,长度单位,屏幕物理尺寸的基本单位

  • pt:points 一个标准单位,大小为一英寸屏幕大小的1/72

  • dpi:dots per inch,即像素密度,每英寸屏幕的像素点

举个栗子:
假设有一个QVGA(320x480)分辨率的屏幕物理尺寸是2英寸*1.5英寸,则这部手机的dpi=160
Screen Size指的是手机实际的物理尺寸,如iPhone4S是3.5英寸,这里的3.5英寸指的是手机屏幕对角线的长度为3.5英寸。

三、屏幕分辨率

分辨率(Resolution)指的是设备屏幕横向和纵向的像素个数,常见的有

|分类|分辨率|

|:---:|:---:|

|QVGA|240x320|

|HVGA|320x480|

|WVGA|480x800|

|QWVGA|240x400|

|720P|1280x720|

|1080|1920x1080|

|2K|2560x1440|

四、px, dp, dip, sp之间的区别

  • px: pixel,即像素,1px代表屏幕上的一个物理的像素点。但px单位不被建议使用。由于分辨率不同,同样像素大小的图片在不同手机显示的实际大小可能不同。要用到px的情况是需要画1像素表格线或阴影线的时候,如果用其他单位画则会显得模糊。

  • dip (dp): device independent pixel。dp (dip)是最常用也是最难理解的尺寸单位。与像素密度密切相关。Android系统定义了四种像素密度:

类型 dpi density
ldpi 120 0.75
mdpi 160 1.0
hdpi 240 1.5
xhdpi 320 2.0

其中 density 表示对应的dp到px的系数,这个系数乘以dp长度就是像素数。例如界面上有一个长度为“80dp”的图片,那么它在240dpi的手机上实际显示为80x1.5=120px,在320dpi的手机上实际显示为80x2=160px。如果你拿这两部手机放在一起对比,会发现这个图片的物理尺寸“差不多”,这就是使用dp作为单位的效果。

  • sp: Scale-independent Pixel,即与缩放无关的抽象像素。sp和dp很类似但唯一的区别是,Android系统允许用户自定义文字尺寸大小(小、正常、大、超大等等),当文字尺寸是“正常”时,1sp=1dp=0.00625英寸,而当文字尺寸是“大”或“超大”时,1sp>1dp=0.00625英寸。类似我们在windows里调整字体尺寸以后的效果——窗口大小不变,只有文字大小改变。

更多相关文章

  1. android屏幕 像素 DP 相关计算
  2. Android的计量单位px,in,mm,pt,dp,dip,sp
  3. 像素鸟(flapybird)的简单实现
  4. android屏幕单位
  5. Android中获取当前屏幕的尺寸大小
  6. Android中的度量单位
  7. Android实用视图动画及工具系列之四:多状态CheckBox,可设置大小尺
  8. Android计量单位px,in,mm,pt,dp,dip,sp和获取屏幕尺寸与密度
  9. Android 实现缩小图片像素

随机推荐

  1. Android(安卓)Boot: After kernel stage
  2. Android仿人人客户端(v5.7.1)——网络模块
  3. android apk如何入门
  4. Android(安卓)studio 导入module 依赖第
  5. 国内手机游戏营收6成靠山寨手机 安卓不赚
  6. Android(安卓)- 下拉刷新
  7. android碎片Fragment简介详解
  8. Android和iOS应用下载实现合成一个二维码
  9. Android(安卓)Animator(Android动画)
  10. 從Firefox、 Google Chrome瀏覽器即時發