Android適配方案小結(一),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 = 1pxmdpi
VGA densityDpi = 160Density = 11dp = 1px mdpi
WVGAdensityDpi = 240Density = 1.51dp = 1.5p xhdpi
WQVGA densityDpi = 320Density = 2 1dp = 2pxxhdpi
資源檔夾匹配:
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檔案夾下的資源。)