天天看点

Android的px、dip、sp的区别

    在android开发的页面布局中,设置控件的长度时经常会用到px、dip、sp等作像素的单位,但不清楚它们之间的差别。现将其差别整理罗列出来。

    dip: device independent pixels(设备独立像素). 不同设备有不同的显示效果,这个和设备硬件有关,一般我们为了   支持WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。

    px: pixels(像素). 不同设备显示效果相同,一般我们HVGA代表320x480像素,这个用的比较多。

    pt: point,是一个标准的长度单位,1pt=1/72英寸,用于印刷业,非常简单易用;

    sp: scaled pixels(放大像素). 主要用于字体显示best for textsize。由此,根据 google 的建议,TextView 的字号 最好使用 sp 做单位,而且查看TextView的源码可知 Android 默认使用 sp 作为字号单位。

备注: 根据google的推荐,像素统一使用dip,字体统一使用sp  

举个例子区别px和dip:

px就是像素,如果用px,就会用实际像素画,比个如吧,用画一条长度为240px的横线,在480宽的模拟器上看 就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。

而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。