以前刚接触Android时就知道一个概念:由于android设备种类繁多,屏幕分辨率的ppi(pixels per inche,有时也叫dpi dots per inch)也各有不同,因此定义大小时如果使用像素(pix)作为单位的话,必然导致在不同设备上看起来不一样大小,甚至差别很大。比如一张160px大小的控件,在160ppi的屏幕上看,刚好是1英寸;但是到了240ppi的屏幕上,就只有2/3英寸了,这个差别,对于布局来说,是毁灭性的。
于是为了保证在不同设备上定义的控件尺寸都一样,一般的教程上都推荐使用dp(就是dip,device independent pixels)作为单位,文字使用sp(scaled pixels)。dp的原理是这样的,对于160ppi的分辨率,1dp=1px;对于其他分辨率