有些时候,我们需要知道当前手机上是否显示了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); }
具体代码可以参考Bigbang项目的ViewUtil中的处理。
以上所述是小编给大家介绍的Android判断NavigationBar是否显示的方法(获取屏幕真实的高度),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对小牛知识库网站的支持!
本文向大家介绍Android判断屏幕是横屏或是竖屏的简单实现方法,包括了Android判断屏幕是横屏或是竖屏的简单实现方法的使用技巧和注意事项,需要的朋友参考一下 本文所述为一个Android的常用技巧代码,主要用于判断手机屏幕是横向或是竖向的,在判断屏幕水平或垂直后你可以对程序做出相应的响应,该实例代码只是判断是否为竖屏,若判断正确返回true,否则返回false。 具体的程序代码如下:
问题内容: 我想获取运行我的应用程序的设备的实际屏幕高度。为此,我尝试以下操作: 我使用模拟器运行的设备的屏幕宽度为1080像素,屏幕高度为1920像素。宽度可以正确显示(1080像素),但根据应用程序,高度仅为1776像素。我需要什么来使我的应用显示正确的屏幕高度?是让屏幕高度的好方法? 问题答案: 看到这个答案 如果您的API级别> 13,请在活动时尝试 如果您不在活动中,则可以通过WINDO
本文向大家介绍jQuery实现判断控件是否显示的方法,包括了jQuery实现判断控件是否显示的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了jQuery实现判断控件是否显示的方法。分享给大家供大家参考,具体如下: 核心代码: 实例代码1: jQuery判断div是否隐藏实例 更多关于jQuery相关内容感兴趣的读者可查看本站专题:《jQuery页面元素操作技巧汇总》、《jQuery扩
本文向大家介绍Android编程实现获得手机屏幕真实宽高的方法,包括了Android编程实现获得手机屏幕真实宽高的方法的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了Android编程实现获得手机屏幕真实宽高的方法。分享给大家供大家参考,具体如下: 补:改进版 (弥补了原先非支持版本的一些异常): 希望本文所述对大家Android程序设计有所帮助。
在Android系统中如何获得屏幕的可用高度?我需要的高度减去状态栏/菜单栏或任何其他可能在屏幕上的装饰,我需要它为所有设备工作。另外,我需要在onCreate函数中了解这一点。我知道这个问题以前有人问过,但我已经尝试过他们的解决方案,但没有一个奏效。以下是我尝试过的一些事情: 我已经在API7-17上测试了这段代码。不幸的是,在API 13的底部水平和垂直都有额外的空间,而在API 10、8和7
函数功能:判断屏幕是否亮屏 函数方法 bool = device.isWake() 返回值 类型 说明 bool string true - 屏幕亮屏,false - 屏幕黑屏 函数用例 bool = device.isWake() if bool then toast("屏幕亮屏",2) mSleep(3000) else toast("屏幕黑屏",2) mSle