如果用下述代码判断屏幕密度,只能识别出密度为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 {
}
}