我通过下面的方法去获取屏幕分辨率的,但获取到的分辨率有时会不准确。原因是此方法有时候会忽略一些布局或控件的高度,从而得不到正确的高度。
public static String getDeviceResolution(Context context){//从系统服务中获取窗口管理器WindowManager wm = (WindowManager) context.getSystemService(Context.WINDOW_SERVICE);DisplayMetrics dm=new DisplayMetrics();//从默认显示器中获取显示参数保存到dm对象中wm.getDefaultDisplay().getMetrics(dm);return dm.widthPixels+"x"+dm.heightPixels;}
而通过另外一个方法则没有上述那种问题,可以获取到正确的屏幕分辨率。
public static String getDeviceResolution(Activity activity){WindowManager windowManager = activity.getWindow().getWindowManager();Point point = new Point();windowManager.getDefaultDisplay().getRealSize(point);//屏幕实际宽度(像素个数)int width = point.x;//屏幕实际高度(像素个数)int height = point.y;return width + "x" +height;}