【Android】隐藏底部虚拟按键
Google的官方文档是:
https://developer.android.com/training/system-ui/navigation.html#behind
示例代码

1 View decorView = getWindow().getDecorView();
2 // Hide both the navigation bar and the status bar.
3 // SYSTEM_UI_FLAG_FULLSCREEN is only available on Android 4.1 and higher, but as
4 // a general rule, you should design your app to hide the status bar whenever you
5 // hide the navigation bar.
6 int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
7 | View.SYSTEM_UI_FLAG_FULLSCREEN;
8 decorView.setSystemUiVisibility(uiOptions);

原文:
但是,有个问题。
这样的确能隐藏底部虚拟导航栏,但是一旦你点击屏幕,导航栏会出现(持续1秒左右),并且消费掉你的点击事件。如果你要点击一个按钮(导航栏隐藏状态下),你需要连续点两次。因为1秒钟之后,导航栏又消失了,点击屏幕事件会被再次拦截消费。
最终的解决方案

/**
* 隐藏虚拟按键,并且全屏
*/
protected void hideBottomUIMenu() {
//隐藏虚拟按键,并且全屏
if (Build.VERSION.SDK_INT > 11 && Build.VERSION.SDK_INT < 19) { // lower api
View v = this.getWindow().getDecorView();
v.setSystemUiVisibility(View.GONE);
} else if (Build.VERSION.SDK_INT >= 19) {
//for new api versions.
View decorView = getWindow().getDecorView();
int uiOptions = View.SYSTEM_UI_FLAG_HIDE_NAVIGATION
| View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY | View.SYSTEM_UI_FLAG_FULLSCREEN;
decorView.setSystemUiVisibility(uiOptions);
}
}

【Android】隐藏底部虚拟按键的更多相关文章
- Android适配底部虚拟按键的方法
---恢复内容开始--- 版权声明:本文为博主原创文章,未经博主允许不得转载. 最近项目进行适配的时候发现部分(如华为手机)存在底部虚拟按键的手机会因为虚拟按键的存在导致挡住部分界面,因为需要全屏显示 ...
- android隐藏底部虚拟键Navigation Bar实现全屏
隐藏底部虚拟键Navigation Bar实现全屏有两种情况 第一种:始终隐藏,触摸屏幕时也不出现 解决办法:同时设置以下两个参数 View.SYSTEM_UI_FLAG_HIDE_NAVIGATIO ...
- 关于Android适配华为等带有底部虚拟按键的解决方案
http://blog.csdn.NET/a91694451/article/details/50469857 最近公司的项目里遇到了一个问题,就是最后适配的时候时候同事的华为手机时,由于底部带有虚拟 ...
- 隐藏Android下的虚拟按键
要隐藏Android下的虚拟按键,可通过如下办法操作 adb root adb remount adb shell ls -al /system/build.prop (查看文件权限) -rw-r ...
- Android tp的虚拟按键(virtual key)处理
Android tp的虚拟按键处理 现在在越来越多的Android的手机都是虚拟按键来操作,但是对于开发者来说可能会关心Android对虚拟按键如何处理的.对Linux熟悉的人可能会说,it's ea ...
- android适配pad和部分手机底部虚拟按键+沉浸式状态栏
在使用沉浸式状态栏设置界面全屏时发现pad和部分手机(华为和魅族系统自带)屏幕底部会带有虚拟按键,遮挡住界面本身的一部分. 为了设置隐藏,在网上找了一些方法,设置Activity主题再在布局加fits ...
- 三分钟彻底禁用、隐藏Android设备底部虚拟按钮(亲测有效)
转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/7613970.html Android设备屏幕底部一般都有虚拟导航栏,上面有 back.home等按钮. ...
- android监听虚拟按键的显示与隐藏【转】
本文转载自:http://blog.csdn.net/u014583590/article/details/55263141 虚拟按键在华为手机中大量存在,而虚拟按键的存在无疑增加了屏幕适配的难度,往 ...
- Android隐藏虚拟按键,关闭开机动画、开机声音
/*********************************************************************** * Android隐藏虚拟按键,关闭开机动画.开机声音 ...
随机推荐
- Mysql的myqldump命令使用方法(备份与还原)
这里的备份与还原,是指表结构数据,和表里面的具体数据(一条一条的记录)同时备份和还原.因此mysqldump,mysql这两命令很强大. 1.备份(即导出)mysqldump -u root -p e ...
- linux、windows搭建nginx出现问题集锦
1.启动提示端口被占用(linux) 启动ninx出现nginx: [emerg] bind() to0.0.0.0:80 failed (98: Address already in use) ne ...
- MT【165】分段函数
(2018浙江省赛12题改编)设$a\in R$,且对任意的实数$b$均有$\max\limits_{x\in[0,1]}|x^2+ax+b|\ge\dfrac{1}{4}$求$a$ 的范围. 提示: ...
- MySQL服务器最大连接数的合理设置
MySQL服务器的连接数并不是要达到最大的100%为好,还是要具体问题具体分析,下面就对MySQL服务器最大连接数的合理设置进行了详尽的分析,供您参考. 我们经常会遇见“MySQL: ERROR 10 ...
- 学习4__STM32--中断
Cortex-M处理器的NVIC接收中断请求各种源 > 从图中可看出,NVIC是一个外设中断的管理器,简化core的工作,控制着整个芯片的中断功能 > NVIC负责给外设中断分配优先级,使 ...
- 洛谷 P1412 经营与开发 解题报告
P1412 经营与开发 题目描述 \(4X\)概念体系,是指在\(PC\)战略游戏中一种相当普及和成熟的系统概念,得名自4个同样以"\(EX\)"为开头的英语单词. \(eXplo ...
- 洛谷P4135 作诗
题意:[l,r]之间有多少个数出现了正偶数次.强制在线. 解:第一眼想到莫队,然后发现强制在线...分块吧. 有个很朴素的想法就是蒲公英那题的套路,做每块前缀和的桶. 然后发现这题空间128M,数组大 ...
- Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗
Hadoop生态圈-Azkaban实现文件上传到hdfs并执行MR数据清洗 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 如果你没有Hadoop集群的话也没有关系,我这里给出当时我 ...
- 鸟哥的Linux私房菜——第十九章:例行命令的建立
视频链接:http://www.bilibili.com/video/av11008859/ 1. 什么是例行性命令 (分为两种,一种是周期性的,一种是突发性的)1.1 Linux 工作排程的种类: ...
- Redis记录-JAVA连接Redis
在Java程序中使用Redis之前,需要确保在机器上安装了Redis的Java驱动程序和Java环境.可以先在将Java电脑上并配置好环境. 安装 现在,让我们看看如何设置Redis Java驱动程序 ...