Android判断设备是否有NavigationBar(虚拟按键)并获取它的高度
2018-02-22 14:35
627 查看
转载请注明出处:
http://blog.csdn.net/aa464971/article/details/79347168
网上对于NavigationBar的判断有很多方法,但由于国内定制系统太多,导致兼容性不太好,这里提供一个实测兼容性比较好的。
http://blog.csdn.net/aa464971/article/details/79347168
网上对于NavigationBar的判断有很多方法,但由于国内定制系统太多,导致兼容性不太好,这里提供一个实测兼容性比较好的。
/** * 判断是否有NavigationBar * * @param activity * @return */ public static boolean checkHasNavigationBar(Activity activity) { WindowManager windowManager = activity.getWindowManager(); Display d = windowManager.getDefaultDisplay(); DisplayMetrics realDisplayMetrics = new DisplayMetrics(); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN_MR1) { d.getRealMetrics(realDisplayMetrics); } int realHeight = realDisplayMetrics.heightPixels; int realWidth = realDisplayMetrics.widthPixels; DisplayMetrics displayMetrics = new DisplayMetrics(); d.getMetrics(displayMetrics); int displayHeight = displayMetrics.heightPixels; int displayWidth = displayMetrics.widthPixels; return (realWidth - displayWidth) > 0 || (realHeight - displayHeight) > 0; } /** * 获得NavigationBar的高度 */ public static int getNavigationBarHeight(Activity activity) { int result = 0; Resources resources = activity.getResources(); int resourceId = resources.getIdentifier("navigation_bar_height", "dimen", "android"); if (resourceId > 0 && checkHasNavigationBar(activity)) { result = resources.getDimensionPixelSize(resourceId); } return result; }
相关文章推荐
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- Android如何判断NavigationBar是否显示(获取屏幕真实的高度)
- Android获取屏幕实际高度跟显示高度,判断Android设备是否拥有虚拟功能键
- Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)
- android 获取设备中已启动的服务并判断某一服务是否启动
- Android判断是否存在外置SD卡(获取手机所有存储设备的路径)
- android开发判断虚拟菜单是否开启及获取虚拟菜单高度
- 获取StatusBar,NavigationBar高度及判断是否存在
- Android 工具类(将 dp 转成 px 获取屏幕的高度/宽度 判断android SDK 版本是否大于等于5.0)
- 【Android】ListView监听上下滑动(设置滚动监听判断ListView的滚动方向同时获取屏幕高度、ListView实际高度,判断是否需要展示返回顶部按钮(具体逻辑请看代码--附有详细注释)。
- 精确获取屏幕尺寸 判断是否是平板 文字根据状态更改颜色 android:textColor 背景色根据状态更改颜色 android:backgroup 启动APK的默认Activit
- android根据坐标获取相应控件,判断点是否在控件上
- Android如何判断当前手机是否正在播放音乐,并获取到正在播放的音乐的信息
- Android简单的获取SystemBar,StatusBar,NavigationBar的高度
- Android 通用获取Ip的方法(判断手机是否联网的方法)!!!