dip 是什么东西? 英文表达为device independent pixels.就是设备独立像素的意思。 不同的设备会有不同的显示效果。我们知道android 工程里有 drawable-hdpi、drawable-mdpi、drawable-ldpi. 之所以设置这3个默认的包,是为了你开发出来的应用能适应WVGA,HVGA,QVGA的屏幕。
HVGA: 320*480 对应 drawable-mdpi
WVGA: 480*800 或 480*854 对应 drawable-hdpi
QVGA:240*320 对应 drawable-ldpi
dpi( dot per inch) : 1英寸里有多少个像素。描述图像打印密度,dpi 越大,说明图像越清晰。
在d160dpi的屏幕上, 1px=1dp. px=dp*(density/160).
举例: 有2张都是4英寸的屏幕
一个是160dpi: 20px 在这个屏幕里的宽度 为W1
一个是320dpi: 20px在这个屏幕里的宽度为w1/2.
同样是20个像素,也就是20个点,人家1英寸里可以放320个点,你的只可以放160个点。那看上去,100%是你的显得更宽一点咯。
但是如果用20dp; 在160dpi中 相当于20px
在320dpi中,相当于40px.
所以用dp 单位可以做到跟设备无关。看上去占的比例一样大。 根本原因是因为不同的设置有不同的density .
手机的分辨率:手机的横,纵方向的像素个数。
density(密度):分辨率/屏幕尺寸