- dip:device independent pixels(设备独立像素)。 一般我们为了支持多种分辨率如WVGA、HVGA和QVGA 推荐使用这个,不依赖像素。
- dp与dip一样,android中一般用来设置控件的长和宽。
- sp:scaled pixels(放大像素)。 主要用于设置字体的大小。
- px:pixels(像素)。不同的设备不同的显示屏显示效果是相同的,这是绝对像素,是多少就永远是多少不会改变。
- dpi:dot per inch(屏幕像素密度),每英寸多少像素 ; density:(密度)表示每英寸有多少个显示点(逻辑值),它的单位是dpi ; dpi是屏幕像素密度。就是1英寸上像素点的个数。对于屏幕来说,dpi越大,屏幕的精细度越高,屏幕看起来就越清楚。
- 像素密度和分辨率是两个不同的概念,分辨率是总的像素点,像素密度是单位长度的像素点
- dip =(dpi / 160)* px 。
- pt:point,是一个标准的长度单位,1pt=1/72 in,用于印刷业,非常简单易用。
- in(英寸):长度单位。
- mm(毫米):长度单位。
备注: 根据google的推荐,像素统一使用dip,字体统一使用sp
举个例子区别px和dip:
如果用px,就会用实际像素画,比个如画一条长度为240px的横线,在480宽的模拟器上看就是一半的屏宽,而在320宽的模拟器上看就是2/3的屏宽了。
而dip,就是把屏幕的高分成480分,宽分成320分。比如你做一条160dip的横线,无论你在320还480的模拟器上,都是一半屏的长度。