关于Android 9 隐藏虚拟按键的问题
关于Android 9隐藏底部虚拟按键
- 遇到的问题
- 解决办法
遇到的问题
现在需要在安卓9.0的系统上进行修改,目的是在使用自己的app时无法退回到系统桌面。
解决办法
办法一: 首先想到的是在app的软件上进行尝试,参考了网上的许多教程之后,都不行,由于Android 9 的特性,及时虚拟按键是隐藏了,但是通过侧边滑动,还是能够出来,放弃。
办法二:第二个解决办法那就是在系统源码上进行修改了,通过查阅资料,控制虚拟按键显示的文件位于frameworks/base/packages/SettingsProvider/res/values/defaults.xml 路径下
的此行代码中
<string name="policy_control" translatable="false">immersive.full=*</string>
通过设置policy_control的值,可以改变虚拟按键的显示状态,有以下四种情况:
- 全屏沉浸模式(包括状态栏和虚拟按键): immersive.full=*
- 状态栏沉浸:immersive.status=*
- 虚拟按键沉: immersive.navigation=*
- 隐藏并且弃用:null
其中沉浸模式就是默认全屏,但是通过滑动还是能够显示出来,类似玩游戏看电影时的效果。
将policy_control设为null后,虽然行得通,也确实无法退回桌面,但是在横屏播放视频的时候,虚拟按键的位置还是占据了屏幕的空间,显示为黑色,这样体验感就大大折扣了,由于这个源码之前别人改过,不知道是不是什么地方冲突了,无奈只能另寻思路。
办法三:在网上找遍了也没有找到屏蔽滑动呼出的方法,既然这样那就将虚拟按键的布局文件给改了,最后决定将按键的宽高设为0,这样即使呼出来也无法进行点击。
具体方法为:修改frameworks/base/packpages/SystemUI/res/layout路径下的navigation_bar.xml文件,修改源码为:
<com.android.systemui.statusbar.phone.NavigationBarInflaterViewandroid:id="@+id/navigation_inflater"android:layout_width="0dp"android:layout_height="0dp"/>
这样最后的效果最接近预期。
关于Android 9 隐藏虚拟按键的问题相关推荐
- android dialog隐藏虚拟按键,Android应用开发之Android dialog 去除虚拟按键的解决方法...
本文将带你了解Android应用开发Android dialog 去除虚拟按键的解决方法,希望本文对大家学Android有所帮助. Android 部分机型没有物理按键,只有虚拟按键,Activi ...
- android dialog隐藏虚拟按键,dialog全屏且不会弹出虚拟按键
1.首先在res/values/styles中自定义dialog属性 @android:color/transparent true @null true false 2.在dialog的构造函数中s ...
- android dialog 隐藏键盘,android dialog 隐藏虚拟按键
试了网上很多的方法,都没什么用,最后抄的 google 开发者网站上的代码 public static void hideSystemUI(Window window) { // Enables re ...
- android dialog隐藏虚拟按键,关于此框架在BottomSheetDialogFragment使用时,华为手机底部虚拟按键弹出与隐藏时输入框位置不贴键盘...
我这边试过还是不行,而且我们ui是要dialog不全屏的,下面附上代码 public void onStart() { super.onStart(); Dialog dialog = getDial ...
- java屏蔽虚拟按键代码_Android 中隐藏虚拟按键的方法实例代码
下面通过一段代码给大家讲解android 隐藏虚拟按键的方法,废话不多说了,大家多多看看代码和注释吧,具体代码如下所示: /** * 隐藏虚拟按键,并且全屏 */ protected void hid ...
- 隐藏Android下的虚拟按键
隐藏Android下的虚拟按键 要隐藏Android下的虚拟按键,可通过如下办法操作 [cpp] view plaincopy adb root adb remount adb shell ls -a ...
- Android 4.2虚拟按键背景透明,Android 4.0 隐藏虚拟按键(导航栏)的方法
在Android4.0里,多了一些API,其中包括怎样隐藏虚拟按键(导航栏),这样编写游戏或一个视频播放器时,可以设置隐藏虚拟按键的参数,达到最佳效果,当然前提是使用的手机是有虚拟按键的,例如gala ...
- Android 隐藏虚拟按键
Android 隐藏虚拟按键 领导要求: 横屏播放视频时,不展示虚拟按键: 恢复到竖屏时,展示虚拟按键: /*** NavigationBar 显示与隐藏*/ public class Navigat ...
- Android常见公有方法(隐藏虚拟按键/隐藏软键盘/获取屏幕宽高等)
隐藏虚拟按键,并且全屏 使用: ScreenUtils.hideBottomUIMenu(getWindow().getDecorView()); /*** 隐藏虚拟按键,并且全屏*/public s ...
最新文章
- [Windows]ping itsafe环境变量
- Shell脚本调试工具set
- 洛谷P4173:残缺的字符串(FFT、通配符匹配)
- 晚上美容护肤10要诀 - 健康程序员,至尚生活!
- php删除数组中的空行,php处理文件的思考(去除空行、每行多余字符)
- Java Swing 如何关闭当前窗口?
- java参数注解pam_CAS3.4 关于PAM模块SSL的详细配置
- resiprocate之message
- Spring 使用注解注入 学习(四)
- Network In Network论文笔记
- [Asp.Net Core]Session的使用
- 通信技术专业技术人员考试 动力与环境_中级通信工程师动力与环境考试大纲...
- 解决Macbook安装win10/win11时遇到的WDF_Violation 蓝屏错误问题 - 安装Bootcamp驱动蓝屏
- Excel批量设置数字转化成“以文本形式存储的数字
- 物尽其用,数码相机兼职摄像头!
- 下个五年,跨境支付的变数在哪里?
- 【Android -- 写作工具】Markdown 分割线
- linux系统给安卓root权限,安卓手机该如何获取Root权限?方法很简单,但不建议Root...
- 可视化篇:R可视化--迁徙/通勤图
- 单片机实验——十六路抢答器 ,抢答器是一种应用十分广泛的设备,在各种竞赛、抢答场合中,它能迅速、客观地分辨出最先获得发言权的选手。本设计采用矩阵键盘节省输入的I/O口,带有奇偶校验的双单片通信。
热门文章
- 一加8 线刷官方ColorOS尝鲜版遇到的各种问题及解决方案
- ROS学习笔记-用脚本发布cmd_vel话题
- creo打不开stp文件_为什么stp网站打不开 creo打不开stp文件
- godaddy php5.ini,Godaddy主机修改上传文件限制
- 由C注释向C++注释转换简单实现
- java.lang.arr_以太坊常见问题和错误 / java.lang.ArrayIndexOutOfBoundsException? - 汇智网...
- linux上centos镜像磁盘,VirtualBox中配置linuxCentOS的本地磁盘镜像iso作为其软件源
- 20110814炒股日记--关于内外盘【600192长城电工】
- java学生成绩降序代码_输入5名学员成绩,降序排列输出
- Linux之网络管理