Android中dip、dp、sp、pt和px的区别详解

dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
dp: dip是一样的
px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。
pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;
sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。
in(英寸):长度单位。
mm(毫米):长度单位。

据px = dip * density / 160,则当屏幕密度为160时,px = dip(安卓系统使用mdpi即将密度值为160的屏幕作为标准:1px = 1dp
根据 google 的建议,TextView 的字号最好使用 sp 做单位,而且查看TextView的源码可知Android默认使用sp作为字号单位。将dip作为其他元素的单位。

换算:

在mdpi:1dp = 1px

在hdpi:   1dp = 1.5px

在xhdpi:1dp = 2px

在xxhdpi: 1dp = 3px

分辨了换算比例:

ldpi:mdpi:hdpi:xhdpi:xxhdpi = 3:4:6:8:12

posted @ 2017-02-28 10:19  Calo-missile  阅读(132)  评论(0编辑  收藏  举报