关于Android开发中手机底部虚拟键的隐藏问题

来源:互联网 发布:js中两个数组合并 编辑:程序博客网 时间:2024/04/29 20:38
  公司最近在做一件牛逼的事情(这里就不方便透露 了 哈哈)。在开发的过程中,产品经理给我的需求是,用户只可以点击触摸规定的模块,对于那些“死”模块,不让触发任何事件,最重要的是屏幕显示全屏。
操作思路:
1.隐藏顶部(图片更能表达清楚意思

     只需要在你的onCreate()方法中加入以下三行代码即可:
       requestWindowFeature(Window.FEATURE_NO_TITLE);
       getWindow().setFlags(WindowManager.LayoutParams.FLAG_FULLSCREEN,
       WindowManager.LayoutParams.FLAG_FULLSCREEN );

    但是这个隐藏这后,你手动触摸屏幕它又会自动出现,由于在我的需求里面,触发的手势是上下拖拉滑动,所以也是完成了需求,具体点击事件也让它也依然保持隐藏的状态,右面有待于研究。
  
2.隐藏底部的虚拟键
 

  就是上面红框框里面的几个虚拟键。由于这个情况和上面讲到的一样,也是分为暂时隐藏和彻底隐藏。
不需要借助第三方隐藏软件修改。这个隐藏虚拟键的方法只要安卓4.0以上系统都可通用(本人需求是彻底隐藏)
(1)暂时隐藏就是不触发屏幕点击事件的时候,虚拟键是看不到的,一旦是触摸屏幕触发了点击事件,那么不好意思,这个虚拟键它又会自动跑出来。
 同样是在你的
onCreate()方法中添加如下代码:
setSystemUiVisibility(View.SYSTEM_UI_FLAG_HIDE_NAVIGATION)只是暂时隐藏,点击屏幕就恢复
(2)彻底隐藏,使用这个方法后,不但你当前的爱屁屁(APP)看不到虚拟键,其他的应用也是看不见。换句话就是说,这个方法它是比较狠的,如果你们项目中没有这个需要还是建议大家用暂时隐藏就可以了,因为这个方法一出,你的手机操作起来就比较费力了。
   
 注意事项

  1.使用本方法之前,手机必须已经ROOT了。(现在已经很智能了,建议大家给自己手机下载一个z4root,可一键root获取权限,不要太感谢我)

  2.在修改之前,请务必确认已经安装并设置好两个软件——GMD手势控制 和 NOVA桌面软件,否则就回不了桌面了。

  这个是要全程手势操作的,就是只要你不手动改回来,使用过程中一直不会看到虚拟键的。我用的是GMD+NOVA桌面配合,当然你可以选择别的软件代替。

 具体方法:(首先你得在自己手机上下载一个叫做RootExplorer的软件,然后按照下面步骤去做)

  进入RE管理器进入“system/build.prop”,选择用文本编辑器打开,然后在结尾再重新加一行命令:qemu.hw.mainkeys=1 。然后保存退出,重启手机即可。

以上就是索尼Z1 L39h虚拟键彻底隐藏的方法了,学会了的童鞋可以自己试试哦。不同的设备的  qemu.hw.mainkeys=1 这个数字它是不同的,我们需要在源代码中查看View.SYSTEM_UI_FLAG_HIDE_NAVIGATION它所对应的具体值和意义。

我的设备是这个



  恢复隐藏的虚拟按键的方法:用RE管理器进入“system/build.prop”,选择用文本编辑器打开,然后在结尾再重新加一行命令:qemu.hw.mainkeys=1,这里1是隐藏,将其改成0,就可以让虚拟键重新显示出来了。





  
 
0 0
原创粉丝点击