首先说一下dp 和 px 的区别。dp意思是“密度无关像素”,什么意思呢,说白了,就是不同 dpi 下展示的 px 数值不同。而用户看到的图像大小就是像素大小(px)。
公式是px = dp * (dpi/160) 。dp即dip,规定,密度为160的屏幕上,1像素对应的尺寸为1dp。320密度的屏幕上,1像素对应0.5dp,以此类推。在密度为160的屏幕上,1英寸有160个像素,那么1px对应的尺寸 = 1/160英寸。所以说dp是个物理尺寸,跟像素无关。
在Android开发中,我们都推荐使用dp作为尺寸标准。为什么呢?Android设备非常繁多,尺寸,屏幕密度都不一样。加入在一英寸宽度的手机,dpi为160,那么要充满宽度,我们设置宽度为160px即可,但如果dpi 为320的时候,160px 就仅仅占了宽度的一半了。换过来,我们使用dp,在dpi为160的时候,换算成px为160px,充满宽度;在dpi为320的时候,换算成px(公式为 px = dp * (dpi/160))为320px,同样充满宽度。这就达到了适配的效果了。
那么使用dp就是否是万事大吉了呢?答案是否定的。因为dp的作用是体现在相同尺寸大小的效果。同样是拿上面的例子,
====好久没写,都忘了= =