Android适配方案小结(一)

相关计量单位介绍:

px:是屏幕的像素点,不同设备显示的效果一样。

in:英寸(1英寸等于2.54cm)

mm:毫米

pt:磅, 1/72英寸

dp:device independent pixels(设备独立像素),不同设备有不同的显示效果。这个和设备

硬件有关。

基于density的抽象单位,假设一个160dpi的屏幕,1dp=1px。(160dpi表示1英寸

有160个像素点)

dip:等同于dp。因此我们在xml中使用dp和dip效果一样。

sp:scaled pixels。 同dp相似,但还会依据用户的字体大小偏好缩放。

dpi:dots per inch,每英寸的像素数。

density:通常我们在Android平台提到的这个不是屏幕密度,而是每英寸的像素点与160dpi

(google设置的一个标准)的比值。

densityDpi的值表示每英寸有多少个像素点,单位是dpi。

dip与px的关系:

QVGA    densityDpi = 120Density
= 0.75  1dp = 0.75px   ldpi

HVGA
densityDpi = 160 Density = 1  1dp = 1px
mdpi

VGA
densityDpi = 160Density = 1
1dp = 1px   mdpi

WVGA
densityDpi = 240Density = 1.5
1dp = 1.5p  xhdpi

WQVGA   densityDpi = 320
Density = 2  1dp = 2px
xhdpi



资源目录匹配:

Android默认是使用density来匹配资源的:

当屏幕 density = 2时,使用drawable-xhdpi目录下的资源

当屏幕 density = 1.5时。使用drawble-hdpi目录下的资源

当屏幕 density = 1时。使用drawble-mdpi目录下的资源

当屏幕 density = 0.75时,使用drawable-ldpi目录下的资源。

(尽管Android设备的屏幕像素密度遵循0.75:1.0:1.5:2.0的比例,但市面上有一部分的设备不全然

符合上面的四种情况,有可能介于2者之间:如1.33。这时能够使用drawable-tvdpi目录下的资源。)

上一篇:Unity3D——键盘控制移动


下一篇:转 shell中字分隔的妙用:变量IFS