Android 屏幕适配之不同res-dpi文件夹之间的关系
资源:
- 设备:
华为青春版平板(FDR-A10w)
- 设备分辨率:
1200*1920
- 适用资源文件夹:
hdpi
( 如何确定设备的res dpi)
Google标准尺寸及参数
在安卓中,系统密度为160dpi的中密度手机屏幕为基准屏幕,即320×480的手机屏幕。在这个屏幕中,1dp=1px。
密度 | ldpi | mdpi | hdpi | xhdpi | xxhdpi | xxxhdpi |
---|---|---|---|---|---|---|
分辨率 | 240 * 320 | 320 * 480 | 480 * 800 | 720 * 1280 | 1080 * 1920 | 1440 * 2560 |
密度值 | 120 | 160 | 240 | 320 | 480 | 560 |
密度比例 | 3 | 4 | 6 | 8 | 12 | 16 |
以mdpi一单位1 | 0.75 | 1 | 1.5 | 2 | 3 | 4 |
同一图片在不同res-dpi文件夹下图片分辨率并计算图片对角线上像素点数
mdpi 总分辨率:
28802+16202‾‾‾‾‾‾‾‾‾‾‾‾‾‾√=3304.360 2880 2 + 1620 2 = 3304.360hdpi 总分辨率:
1920x1080
19202+10802‾‾‾‾‾‾‾‾‾‾‾‾‾‾√=2202.907 1920 2 + 1080 2 = 2202.907xhdpi 总分辨率:
1440x810
14402+8102‾‾‾‾‾‾‾‾‾‾‾‾‾√=1652.180 1440 2 + 810 2 = 1652.180xxhdpi 总分辨率:
960x540
9602+5402‾‾‾‾‾‾‾‾‾‾‾‾√=1101.453 960 2 + 540 2 = 1101.453xxxhdpi 总分辨率:
720x405
7202+4052‾‾‾‾‾‾‾‾‾‾‾‾√=826.090 720 2 + 405 2 = 826.090
图片密度(以hdpi 、图片分辨率1920x1080为基准)关系分析(四舍五入)
图片密度数据 | picture in mdpi | picture in hdpi | picture in xhdpi | picture in xxhdpi | picture in xxxhdpi |
---|---|---|---|---|---|
角线像素数 | 3304.360 | 2202.907 | 1652.180 | 1101.453 | 826.090 |
对角线像素数关系 | 2202 *1.5 | 2202 *1 | 2202 *0.75 | 2202 *0.5 | 2202 *0.375 |
比值 | 1.5 | 1 | 0.75 | 0.5 | 0.375 |
比值/0.375 | 4 | 3 | 2 | 1.5 | 1 |
总结:
同一张图片在不同的res-dpi资源文件加下系统识别的分辨率关系:在不同的res-dpi资源文件夹下,图片的对角线像素数比值与Android不同屏幕的密度比值相反;
如:mdpi对比xxhdpi图片对角线像素数比值为1.5/0.5 =3,屏幕的密度比值160/480 =1/3,可得出结论:
同一张图片在不同的res-dpi文件夹下,两次数据的图片的对角线像素数比值 * 屏幕的密度比值=1
。
注意:这些比值换算最好参照基准值计算,不然误差会变大。