android 获取navigationbar 高度,Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)...
有些时候,我们需要知道当前手机上是否显示了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是否显示的方法(获取屏幕真实的高度),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!
时间: 2017-01-03
android 获取navigationbar 高度,Android判断NavigationBar是否显示的方法(获取屏幕真实的高度)...相关推荐
- 三星手机判断输入法是否显示的方法
我们都知道InputMethodManager是没有api,能够让第三方应用获取输入法是否显示的. 三星Note 最近使用了下三星S8自带的Note应用,发现它能够实时知道输入法是否显示.碰巧三星的N ...
- 获取cookie_抢券第一课:三种方法获取Cookie
现在分享京东抢券是不是不合适?毕竟还没有到双十一或者其他京东大促的时间. 记得以往京东还有那种神券299减200,399减300.基本上都是到点进行抢购,而且还不一定能抢到.不过今天先来分享获取Coo ...
- js快捷获取超链接参数和修改超链接(新增URLSearchParams方法获取参数)
//https://www.baidu.com?sjry=111function GetRequest() {var url = location.search;var theRequest = ne ...
- android 添加广告用proguard混淆后不显示问题解决方法
android 添加有米广告,打开proguard混淆后,广告不显示了,解决方法是keep所有引用的jar package 1 -keep public class net.youmi.android ...
- 微信小程序(十一)实战——时间的获取,比较,判断(微信小程序 如何获取时间)
1.获取当前系统日期和时间 在小程序中,新建项目时,就会有一个utils.js文件,就是获取日期和时间的,代码如下: utils.js: const formatTime = date => { ...
- Android中TextView中string的特殊符号显示的方法
⇠ 箭头类 符号 UNICODE 符号 UNICODE HTML JS CSS HTML JS CSS ⇠ &;#8672 /u21E0 /21E0 ⇢ &;#8674 /u21E2 ...
- php获取post表单数据_PHP get和post方法获取form表单数据
在 PHP 中使用 get 和 post 两种方法接收来自 form 表单的值,在 form 表单中可以定义 PHP 的接收方式和接收地址. get 和 post 方法主要有以下几点区别. get 是 ...
- html 获取p 属性值,js使用html()或text()方法获取设置p标签的显示的值
html()方法可以用来读取或者设置某个元素中的HTML内容,text()方法可以用来读取或者没置某个元素中的文本内容 html()方法 此方法类似于JavaScript中的innerHTML属性,可 ...
- this ts 方法获取_vue+typescript项目中用this.$refs和原生方法获取的dom有什么区别
项目中使用vue+typescript 使用this.$refs.refsName和document.querySelector打印出来的结果是一样的 但是当使用API是.$refs获得的DOM就报错 ...
最新文章
- php ip地址地区,PHP查询ip所在地(省份,市)
- python 多进程_说说Python多线程与多进程的区别?
- vmware网络模式设置(说的最简单的一篇文章)
- live555 源码分析: DESCRIBE 的处理
- c语言铁路托运行李费用图,3.为铁路部门编写计算运费的程序。假设铁路托运行李,规定每张客票托运费计算方法是:行李重量不超过50kg...
- 对于linux socket与epoll配合相关的一些心得记录
- 西门子em235模块的功能_图文讲解PLC模拟量模块与传感器接线方法和注意事项
- Dubbo与Zookeeper伪集群部署
- 木马的隐藏及其启动方式 (转)
- 国外统计学课程主页Statistical Books, Manuals and Journals
- 怎么制作简单地图,怎样画简单的地图?
- 宝塔面板安装MySQL数据库
- 2019半年总结——学习与成长
- Windows下批量删除空文件夹
- php 处理png图片白色背景色改为透明色
- WPF中的StackPanel、WrapPanel、DockPanel
- Zigbee3.0 协议特性
- 免费的python编辑器_免的解释|免的意思|汉典“免”字的基本解释
- 简单粗暴地理解动态规划
- 深度:保健产品市场正在经历深度震荡与变革转型,新时代环境下孕育哪些创新发展机会?