|
以前一直是個Get用戶,一直都是伸手黨,最近剛好項目中要用到機(jī)型適配,試了很多方法(配置不同layout文件夾,不同的layout文件等)。但都感覺后期維護(hù)工作量巨大,后來從圖片資源適配獲得靈感,使用value不同的dimens文件,達(dá)到適配的效果:
1、創(chuàng)建不同的位圖(Android官方介紹)
- xxxhdpi: 5.0 500*500
- xxhdpi: 3.0 300*300
- xhdpi:2.0 200*200
- hdpi:1.5 150*150
- mdpi:1.0(baseline) 100*100
- ldpi:0.75 75*75
文件夾名稱 |
比例 |
圖片大?。ㄊ纠?/div> |
屏幕寬度 |
DPI值 |
分辨率舉例 |
drawable-xxxhdpi |
5.0 |
500*500 |
1440左右 |
640dpi |
2560*1440(Nexus6) |
drawable-xxhdpi |
3.0 |
300*300 |
1080左右 |
480dpi |
1080*1920 |
drawable-xhdpi |
2.0 |
200*200 |
720左右 |
320dpi |
720*1280 |
drawable-hdpi |
1.5 |
150*150 |
480左右 |
240dpi |
480*800,480*854,540*960 |
drawable-mdpi |
1.0(BaseLine) |
100*100 |
360左右 |
160dpi |
320*480 |
drawable-ldpi |
0.75 |
75*75 |
240左右 |
|
|
2、借鑒drawable文件夾,依次創(chuàng)建values,values-mdpi, values-hdpi,values-xhdpi, values-xxhdpi, values-xxxhdpi。 (鑒于現(xiàn)在ldpi的機(jī)型很少,就直接使用默認(rèn)的values來做 適配)。
測試的過程中,使用mdpi做為 基線 ,我針對像素單位dp使用10dp, 字體大小單位sp使用10sp。其它文件的單位,分別使用上面的比例關(guān)系,設(shè)置字體, 邊距大小。
|
字體大小sp |
距離大小dp |
手機(jī)輸出值(字體大小) |
手機(jī)顯示值(距離大?。?/div> |
values-xxxhdpi |
50 |
50 |
175.0 |
175.0 |
values-xxhdpi |
30 |
30 |
90.0 |
90.0 |
values-xhdpi |
20 |
20 |
40.0 |
40.0 |
values-hdpi |
15 |
15 |
22.5 |
22.5 |
values-hdpi(854*480) |
|
|
25.87 |
22.5 |
values-mdpi |
10 |
10 |
10.0 |
10.0 |
values-ldpi |
7.5 |
7.5 |
5.625 |
5.625 |
|