http://jingyan.baidu.com/article/d621e8da058a1a2865913f2a.html
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 做单位
程序员通常以像素为单位设计计算机用户界面,但是如果显示分辩率发生变更(更高时),
则以前做的应用界面会相应缩小,所以有必要使用与分辨率无关的度量单位解决此问题。
Android支持下列所有单位:
px(像素):屏幕上的点。
in(英寸):长度单位。
mm(毫米):长度单位。
pt(磅):1/72英寸。
dp(与密度无关的像素):一种基于屏幕密度的抽象单位。在每英寸160点的显示器上,1dp = 1px。
dip:与dp相同,多用于android/ophone示例中。
dp也就是dip。这个和sp基本类似。如果设置表示长度、高度等属性时可以使用dp或sp。但如果
设置字体,需要使用sp。dp是与密度无关,sp除了与密度无关外,还与scale无关。
所以为了使用户界面能够在现在和将来的显示器类型上正常显示,建议大家始终使用sp作为
文字大小的单位,将dip作为其他元素的单位。当然,也可以考虑使用矢量图形,而不是用位图