_孙大圣_
_孙大圣_
  • 发布:2017-10-27 10:29
  • 更新:2018-11-29 10:36
  • 阅读:5887

隐藏系统虚拟导航栏---永久隐藏

分类:Native.js

想永久隐藏底部的导航栏,返回键,主页键,菜单键等。
使用了一下代码。

//隐藏

刚进入系统能隐藏,但是,随意触屏一下屏幕,就又显示出来下面的导航栏了,
然后想了一个办法

结果,当导航栏隐藏的时候,点击屏幕,屏幕并不会执行tap,或者click事件,也就是说,当前webview上可能有一层看不见的蒙板,

然后翻看资料,-----发现了此文章
http://blog.csdn.net/wangkai1101/article/details/52384911

文章中指出
当你确定要使用沉浸式模式,那么只需要重写Activity的onWindowFocusChanged()方法,然后加入如下逻辑即可:

--所以,问题来了,如何重写这个onWindowFocusChanged成了当前的问题,

  • 想求哪位大神能给个解答方案呢。。。万分感谢啊-----------
2017-10-27 10:29 负责人:无 分享
已邀请:
1***@qq.com

1***@qq.com

var main = plus.android.runtimeMainActivity();
main.onWindowFocusChanged= function(hasfocus) {
//……
}

这么写行吗

  • _孙大圣_ (作者)

    不行啊,进不到这个函数里面去,要重新该函数,要在构建这个类的时候,就要把这个函数重写吧,

    2017-10-27 13:07

Android_磊子

Android_磊子

试试监听resume事件,通过native.js调用是否可行。

捌拾年代

捌拾年代

结合了楼主引文和知识区的另一篇文章,已经基本实现隐藏状态栏和导航栏了,实现了引文中的“沉浸式模式”
特来分享:

    mui.plusReady(function() {  

        //隐藏系统导航按钮  
        var main = plus.android.runtimeMainActivity();  
        var windowMe = main.getWindow();  
        plus.android.importClass(windowMe);  
        var decorView = windowMe.getDecorView();  
        plus.android.importClass(decorView);  
        var View = plus.android.importClass("android.view.View");  
        decorView.setSystemUiVisibility(  
            View.SYSTEM_UI_FLAG_LAYOUT_STABLE |  
            View.SYSTEM_UI_FLAG_LAYOUT_HIDE_NAVIGATION |  
            View.SYSTEM_UI_FLAG_LAYOUT_FULLSCREEN |  
            View.SYSTEM_UI_FLAG_HIDE_NAVIGATION |  
            View.SYSTEM_UI_FLAG_FULLSCREEN |  
            View.SYSTEM_UI_FLAG_IMMERSIVE_STICKY);  

    });  

(2) 如何隐藏系统虚拟导航栏,实现沉浸式模式 - DCloud问答
http://ask.dcloud.net.cn/article/35299

该问题目前已经被锁定, 无法添加新回复