版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Michael_hejing/article/details/82025811
目的
不同设备系统识别的res-dpi文件夹不同,如果我们在放入资源文件如图片位置错误,则会导致屏幕适配困难,故我们需要先识别目标设备系统识别的资源文件夹是哪一个,所以有以下信息获取函数。
目标设备res-dpi信息获取方法:
/**
* 一般情况下的普通屏幕密度:ldpi是120,mdpi是160,hdpi是240,xhdpi是320,xxhdpi是480,xxxhdpi是560。
* 屏幕信息详情{@link android.util.DisplayMetrics}
*/
private String getResourcesDpiMsg(Context context) {
String msg;
int densityDpi = context.getResources().getDisplayMetrics().densityDpi;
switch (densityDpi) {
case DisplayMetrics.DENSITY_XXXHIGH:
msg = "屏幕密度:" + "560像素/英寸 \n资源文件夹:xxxhdpi \n分辨率倍数:4";
break;
case DisplayMetrics.DENSITY_XXHIGH:
msg = "屏幕密度:" + "480像素/英寸 \n资源文件夹:xxhdpi \n分辨率倍数:3";
break;
case DisplayMetrics.DENSITY_XHIGH:
msg = "屏幕密度:" + "320像素/英寸 \n资源文件夹:xhdpi \n分辨率倍数:2";
break;
case DisplayMetrics.DENSITY_HIGH:
msg = "屏幕密度:" + "240像素/英寸 \n资源文件夹:hdpi \n分辨率倍数:1.5 ";
break;
case DisplayMetrics.DENSITY_MEDIUM:
msg = "屏幕密度:" + "160像素/英寸 \n资源文件夹:mdpi \n分辨率倍数:1 ";
break;
case DisplayMetrics.DENSITY_LOW:
msg = "屏幕密度:" + "120像素/英寸 \n资源文件夹:ldpi \n分辨率倍数:0.75 ";
break;
default:
msg = "暂时没有处理当前分辨率,\n请参考 android.util.DisplayMetrics 。 \ndensityDpi:"+densityDpi;
break;
}
return msg;
}
以上res-dpi资源文件夹图片分辨率之间的关系可参考:Android 屏幕适配之不同res-dpi文件夹之间的关系