(pixels)——像素,不依赖设备。
(device independent pixels)——等同 ,与设备相关。一般我们为了支持WCGA、HVGA和QVGA推荐使用这个,不依赖于像素。
sp (scaled pixels—best for text size)——带比例的像素,主要用于字体显示。
到底和有什么区别呢?
dip 什么时候等于px? 什么时候不等于呢?
- 在Density是160的设备上,1dip = 1px, HVGA屏density=160;换到一个Density是240的设备上,dip和px体现出来的大 小就不一样了, 1.5 px = 1 dip。
- 通常而言:WQVGA(160 X 240)屏density=120;QVGA(240 X 320)屏density=120;HVGA(320 X 480)屏density=160;WVGA(480X 800)屏density=240;
- VGA屏是标准屏640 X 480 的分辨率
density值表示每英寸有多少个显示点(密度),与分辨率(宽X高的像素点)是两个概念。
当屏幕density=240时, 使用hdpi标签的资源当屏幕density=160时,使用mdpi标签的资源当屏幕density=120时,使用ldpi标签的资源
不加任何标签的资源是各种分辨率情况下共用的。布局时尽量使用单位dip,少使用px。
换算公式为:
pixs =dips * (densityDpi/160).dips=(pixs*160)/densityDpi
如何获得设备的屏幕分辨率和屏幕密度?
例 如分辨率为480*800,密度为240的设备,方法如下:
DisplayMetrics dm =getResources().getDisplayMetrics(); dm.densityDpi=240 dm.widthPixels=480 dm.heightPixels=800
声明: 本文由()原创编译,转载请保留链接: