情况:
我正在尝试截取屏幕截图并将其保存到位图,然后裁剪出状态栏和导航栏。
问题:
这是我用来获取导航栏高度的代码:
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: 解决了。事实证明我正在看动作栏而不是导航栏。在我开始研究这本书之前,我应该读一本书...对不起这个混乱。
答案 0 :(得分:0)
别介意这是一个新手的错误。事实证明我正在看动作栏而不是导航栏。在我开始研究这本书之前,我应该读一本书...对不起这个混乱。
java android