Android屏幕尺寸与度量单位(px,dp,sp)简介
MarkdownPad Document
1.各度量单位的含义
- px:pixels(像素)。显示器是由一个一个的像素点组成的,例如在通用显示器中,每英寸包括72个像素点;
- dp:device independent pixels(设备独立像素),不同的设备有不同的显示效果,这个和设备硬件有关;Android中,使用dp可以对目标进行自动缩放,比较方便兼容不同尺寸的设备;详见下面介绍;
- dip:和dp是一样的,Android的早期版本使用了dip这个称呼,后来改成了dp;
- pt:point,这个是一个标准的长度单位,注意与px区分,1pt=1/72英寸,主要用于印刷行业
- sp:scaled pixels,主要用于字体的大小显示,个人理解,sp其实和dp差不多,唯一的区别在于sp可以随系统字体进行放大缩小,,当在设置中选中大字体模式后,使用sp标注的字体大小会自动缩放;
- in(英寸):长度单位
- mm(毫米):长度单位
- PPI:密度单位,表示每英寸包括多少个像素点,如显示器一般为72ppi
2.像素密度
Android设备主要包括以下几种屏幕:
屏幕 | 宽度 | 高度 | 尺寸 | 屏幕密度 |
---|---|---|---|---|
QVGA | 240 | 320 | 2.6-3.0 | LOW |
WQVGA | 240 | 400 | 3.2-3.5 | LOW |
FWQVGA | 240 | 432 | 3.5-3.8 | LOW |
HVGA | 320 | 480 | 3.0-3.5 | MEDIUM |
WVGA | 480 | 800 | 3.3-4.0 | high |
FWVGA | 480 | 854 | 3.5-4.0 | HIGH |
wvga | 480 | 800 | 4.8-5.5 | MEDIUM |
FWVGA | 480 | 854 | 5.0-5.8 | MEDIUM |
VGA | 480 | 640 | 2.8 | 286ppi |
备注:目前Android默认的low=120;medium=160;high=240
设备信息有很多,具体的可以参考下面链接:
http://www.xyaz.cn/thread-71-1-1.html
3.px与dp的转换
转换公式为:
px=dp*density/160。denisty表示屏幕密度,即当density=160时,1dp = 1px = 1sp;