用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 { } }