首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何以编程方式获取Android导航栏的高度和宽度?

如何以编程方式获取Android导航栏的高度和宽度?
EN

Stack Overflow用户
提问于 2013-11-28 18:59:53
回答 18查看 146.4K关注 0票数 141

屏幕底部的黑色导航栏在Android中不容易移除。它从3.0开始就是Android的一部分,作为硬件按钮的替代品。这是一张图片:

如何以像素为单位获取此UI元素的宽度和高度的大小?

EN

Stack Overflow用户

发布于 2020-06-10 18:42:57

我已经这样做了,它在我测试的每一台设备上都有效,甚至在模拟器上也是如此:

代码语言:javascript
运行
复制
// Return the NavigationBar height in pixels if it is present, otherwise return 0
public static int getNavigationBarHeight(Activity activity) {
    Rect rectangle = new Rect();
    DisplayMetrics displayMetrics = new DisplayMetrics();
    activity.getWindow().getDecorView().getWindowVisibleDisplayFrame(rectangle);
    activity.getWindowManager().getDefaultDisplay().getRealMetrics(displayMetrics);
    return displayMetrics.heightPixels - (rectangle.top + rectangle.height());
}
票数 2
EN
查看全部 18 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20264268

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档