简述:
Andorid.util 包下的DisplayMetrics 类提供了一种关于显示的通用信息,如显示大小,分辨率和字体。
//get the screen sizeDisplayMetrics dm = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMetrics(dm); int screenHeight= dm.heightPixels; int screenWidth =dm.widthPixels;
构造函数DisplayMetrics 不需要传递任何参数;调用getWindowManager() 之后,会取得现有Activity 的Handle ,此时,getDefaultDisplay() 方法将取得的宽高维度存放于DisplayMetrics 对象中,而取得的宽高维度是以像素为单位(Pixel) ,“像素”所指的是“绝对像素”而非“相对像素”
当然这里面也可以通过一定的方法来获取屏幕密度
/*** 获取屏幕的像素*/public int getScreenWidthMetrics(Activity activity){DisplayMetrics displayMetrics = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);return displayMetrics.widthPixels;}public int getScreenHeigthMetrics(Activity activity){DisplayMetrics displayMetrics = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);return displayMetrics.heightPixels;}/*** 获取屏幕的像素密度* @param activity* @return*/public float getScreenDensity(Activity activity){DisplayMetrics displayMetrics = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);return displayMetrics.density;}public float getScreenDensityDip(Activity activity){DisplayMetrics displayMetrics = new DisplayMetrics();activity.getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);return displayMetrics.densityDpi;}