用DisplayMetrics判断屏幕密度

如果用下述代码判断屏幕密度,只能识别出密度为240,160,120的屏幕,其它的将无法识别;

DisplayMetrics dm = new DisplayMetrics();

switch (dm.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:
break;
case DisplayMetrics.DENSITY_MEDIUM:

break;
case DisplayMetrics.DENSITY_LOW:

break;
default :

}

因为android终端种类很多,比如魅族M9的为320 所以在识别时最好加对上不是上述三种类型手机的处理:

DisplayMetrics dm = new DisplayMetrics();

switch (dm.densityDpi) {
case DisplayMetrics.DENSITY_HIGH:

break;
case DisplayMetrics.DENSITY_MEDIUM:

break;
case DisplayMetrics.DENSITY_LOW:

break;
default :
if(dm.densityDpi>DisplayMetrics.DENSITY_HIGH){

} else if(dm.densityDpi < DisplayMetrics.DENSITY_LOW){

} else {

}
}

 

发表评论