一个手机屏幕主要分:顶部状态栏、底部虚拟导航栏和中间的应用区域。
获取整个屏幕宽高
WindowManager windowManager = getWindowManager();
Display display = windowManager.getDefaultDisplay();
int screenWidth = display.getWidth();
int screenHeight = display.getHeight();
DisplayMetrics dm = getResources().getDisplayMetrics();
int screenWidth = dm.widthPixels;
int screenHeight = dm.heightPixels;
获取状态栏高度
public int getStatusBarHeight() {
int statusBarHeight = 0;
try {
Resources resources = getApplicationContext().getResources();
int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
statusBarHeight = resources.getDimensionPixelSize(resourceId);
} catch (Resources.NotFoundException e) {
e.printStackTrace();
}
return statusBarHeight;
}
获取底部导航栏高度
public int getNavigationBarHeight() {
int navigationBarHeight = 0;
try {
Resources resources = getApplicationContext().getResources();
int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
navigationBarHeight = resources.getDimensionPixelSize(resourceId);
} catch (Resources.NotFoundException e) {
e.printStackTrace();
}
return navigationBarHeight;
}