得到了导航栏高度,但它缩短了20个像素?

时间:2016-02-22 09:49:23

标签: java android

情况:

我正在尝试截取屏幕截图并将其保存到位图,然后裁剪出状态栏和导航栏。

问题:

这是我用来获取导航栏高度的代码:

public int getNavigationBarHeight() {
    int resourceId = getResources().getIdentifier("navigation_bar_height", "dimen", "android");
    if (resourceId > 0) {
        return getResources().getDimensionPixelSize(resourceId);
    }
    return 0;
}

当实际导航栏为140像素时,它返回120。

我使用相同的代码来获取状态栏的高度,并获得正确的60px。

出了什么问题?

测试虚拟设备:Nexus 5x

我的代码中的其他所有内容都可以使用,但是图片最后还有20 px左侧的导航栏。

更新:

我在Samsung Note 4上测试过,导航栏的返回高度再次降低。当测量的高度为224时,它返回192.状态栏仍然返回正确的高度100。

UPDATE2: 解决了。事实证明我正在看动作栏而不是导航栏。在我开始研究这本书之前,我应该读一本书...对不起这个混乱。

1 个答案:

答案 0 :(得分:0)

别介意这是一个新手的错误。事实证明我正在看动作栏而不是导航栏。在我开始研究这本书之前,我应该读一本书...对不起这个混乱。

java android