Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
发布日期:2021-11-12 07:57:37
浏览次数:31
分类:技术文章
本文共 1379 字,大约阅读时间需要 4 分钟。
原文地址:http://www.jianshu.com/p/84d951b3f079
有些时候,我们需要知道当前手机上是否显示了NavigationBar,也就是屏幕底部的虚拟按键。 比如截屏的时候,要获取屏幕的高度,必须包括NavigationBar的高度。 试过网上的多种方法,但是对那种可以通过手势来显示/隐藏的NavigationBar没办法,最后终于找到了一个好办法,看代码: public boolean isNavigationBarShow(){ if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { Display display = getWindowManager().getDefaultDisplay(); Point size = new Point(); Point realSize = new Point(); display.getSize(size); display.getRealSize(realSize); return realSize.y!=size.y; }else { boolean menu = ViewConfiguration.get(this).hasPermanentMenuKey(); boolean back = KeyCharacterMap.deviceHasKey(KeyEvent.KEYCODE_BACK); if(menu || back) { return false; }else { return true; } }}public static int getNavigationBarHeight(Activity activity) { if (!isNavigationBarShow(activity)){ return 0; } Resources resources = activity.getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); //获取NavigationBar的高度 int height = resources.getDimensionPixelSize(resourceId); return height;}public static int getSceenHeight(Activity activity) { return activity.getWindowManager().getDefaultDisplay().getHeight()+getNavigationBarHeight(activity);} 具体代码可以参考项目的ViewUtil中的处理。
转载地址:https://blog.csdn.net/happy_love1990/article/details/78316568 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月04日 17时56分30秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Java全栈开发---Java ERP系统开发:商业ERP(十四)ERP系统的权限分配
2021-06-29
Android快速入门-----用户界面(上)UI组件
2021-06-29
Android单元的Junit测试(快速入门)
2021-06-29
Java当中equalsIgnoreCase()和equals()的区别,解析+习题
2021-06-29
Windows10开启电脑卓越性能模式,运行速度提升10%,CUP利用率达到50%
2021-06-29
Java 的Swing 之JFrame快速入门
2021-06-29
Android Studio创建shapeDrawable的方法
2021-06-29
Mybatis快速入门(4)Mybatis与Spring整合(增删改查)以及逆向工程
2021-06-29
计算机二级C语言:大题程序修改题
2021-06-29
Android Studio 安卓手机上实现火柴人动画(Java源代码—Python)
2021-06-29
SpringMVC快速入门(2)商品列表的加载
2021-06-29
SpringMVC快速入门(3)默认组件加载
2021-06-29