下面的这串代码我感觉非常好,可以用来 获取手机屏幕的宽高,获取屏幕水平,竖直方向的分辨率,还可以测试你的手机(pad)屏幕是属于低分辨率,中分辨率,高分辨率还是 超高分辨率!!
下面贴上代码:
// 获取手机屏幕的宽高
Display defDisp = getWindowManager().getDefaultDisplay();
int dispWidth = defDisp.getWidth();
int dispHeight = defDisp.getHeight();
Log.e(tag, "屏幕宽度:" + dispWidth);
Log.e(tag, "屏幕高度:" + dispHeight);
//获取屏幕水平方向的分辨率,屏幕竖直方向的分辨率
DisplayMetrics dm = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(dm);
float horiDpi = dm.xdpi;
float verDpi = dm.ydpi;
Log.e(tag, "屏幕水平方向的分辨率:" + horiDpi);
Log.e(tag, "屏幕竖直方向的分辨率:" + verDpi);
//下面的这个方法可以用来测试你的手机,pad屏幕是属于低分辨率,中分辨率,高分辨率还是 超高分辨率
int screenSizeClass=dm.densityDpi;
switch (screenSizeClass) {
case DisplayMetrics.DENSITY_LOW:
Log.e(tag, "屏幕属于低分辨率");
break;
case DisplayMetrics.DENSITY_MEDIUM:
Log.e(tag, "屏幕属于中分辨率");
break;
case DisplayMetrics.DENSITY_HIGH:
Log.e(tag, "屏幕属于高分辨率");
break;
case DisplayMetrics.DENSITY_XHIGH:
Log.e(tag, "屏幕属于超高分辨率");
break;
default:
break;
}