System bar size on android tablets

后端 未结 3 1352
梦谈多话
梦谈多话 2021-02-11 02:15

I\'ve got the problem that I need the height of the android tablet system bar. It\'s the same problem as over here, but I cant use this answer, because it gives me the same size

相关标签:
3条回答
  • 2021-02-11 02:39

    Check out this answer here: https://stackoverflow.com/a/8367739/807499

    It gives the full height of the screen. You can then minus the size given by DisplayMetrics or by your root layout's size.

    0 讨论(0)
  • 2021-02-11 02:52
    // status bar (at the top of the screen on a Nexus device) 
    public static int getStatusBarHeight(Context context) {
        Resources resources = context.getResources();
        int resourceId = resources.getIdentifier("status_bar_height", "dimen", "android");
        if (resourceId > 0) {
            return resources.getDimensionPixelSize(resourceId);
        }
        return 0;
    }
    
    // navigation bar (at the bottom of the screen on a Nexus device)
    public static int getNavigationBarHeight(Context context) {
        Resources resources = context.getResources();
        int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android");
        if (resourceId > 0) {
            return resources.getDimensionPixelSize(resourceId);
        }
        return 0;
    }
    
    0 讨论(0)
  • 2021-02-11 02:53

    Chris Banes mentioned this in a recent Droidcon talk. The whole talk is super relevant, but here's a link to the part that answers your question (for all form factors, including tablet).

    https://youtu.be/_mGDMVRO3iE?t=1093

    This is the correct way to get status bar and navigation bar sizes: setOnApplyWindowListener

    I hope this helps!

    0 讨论(0)
提交回复
热议问题