Android

Android 中 px、dp、dip、sp详解

2015-10-14  本文已影响2846人  err0r

一、简介

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

二、屏幕的基本知识

举个栗子:
假设有一个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之间的区别

类型 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作为单位的效果。

上一篇 下一篇

猜你喜欢

热点阅读