Android 获取屏幕宽高、状态栏高度、底部导航栏高度

在这里插入图片描述

一个手机屏幕主要分:顶部状态栏、底部虚拟导航栏和中间的应用区域。

获取整个屏幕宽高

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;
}

猜你喜欢

转载自blog.csdn.net/qq_14876133/article/details/113836510