在app中经常需要获取手机的屏幕分辨率(宽*高),
方法一:弃用的方法
WindowManager wm = getWindowManager();
Display display = wm.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
但是这种已经不推荐使用了,可以使用方法二。
方法二:通过Display获取
public static Point getSize(Context ctx) {
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
Display display = wm.getDefaultDisplay();
Point size = new Point();
display.getSize(size);
return size;
}
int width=size.x;
int height=size.y;
方法二返回一个Point 对象,size.x 是屏幕的宽度,size.y是屏幕的高度。
方法三:通过DisplayMetrics 获取
public static Point getSizeNew(Context ctx) {
WindowManager wm = (WindowManager) ctx.getSystemService(Context.WINDOW_SERVICE);
DisplayMetrics dm = new DisplayMetrics();
wm.getDefaultDisplay().getMetrics(dm);
Point size = new Point();
size.x = dm.widthPixels;
size.y = dm.heightPixels;
return size;
}