Android平板电脑的系统栏大小(System bar size on android table

2019-07-28 23:49发布

我有我需要的Android平板电脑的系统栏的高度问题。 这是同样的问题,因为在这里 ,但我不能使用这个答案,因为它给我的尺寸从DisplayMetrics相同。 在这两个方面,我得到这个酒吧是媒体链接计算的分辨率。 (这个问题犯规出现在我的智能手机,只是在我的平板电脑)。

Answer 1:

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


Answer 2:

点击这里,查看这个答案: https://stackoverflow.com/a/8367739/807499

它提供了屏幕的全高。 然后,您可以减去DisplayMetrics或根布局的尺寸给出的大小。



Answer 3:

克里斯·巴内斯在最近的一次谈话Droidcon提到了这一点。 整个谈话是超相关的,但这里有到回答您的问题(适用于所有形式的因素,包括平板电脑)部分的链接。

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

这是为了让状态栏和导航栏大小的正确方法: setOnApplyWindowListener

我希望这有帮助!



文章来源: System bar size on android tablets