1.获取屏幕宽高不包含虚拟导航栏
public static int[] getScreenSize(Context context) {
DisplayMetrics displayMetrics = new DisplayMetrics();
if (context instanceof Activity) {
((Activity) context).getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
} else {
displayMetrics = context.getResources().getDisplayMetrics();
}
return new int[]{displayMetrics.widthPixels, displayMetrics.heightPixels};
}
2.获取屏幕宽高包含虚拟导航栏
public static int[] getScreenSizeWithNav(Context context) {
WindowManager windowManager = (WindowManager) context.getApplicationContext().getSystemService(Context.WINDOW_SERVICE);
Display display = windowManager.getDefaultDisplay();
Point outPoint = new Point();
if (Build.VERSION.SDK_INT >= 19) display.getRealSize(outPoint);
else display.getSize(outPoint);
return new int[]{outPoint.x, outPoint.y};
}