neilFR
neilFR
  • 发布:2015-06-18 12:53
  • 更新:2018-11-29 10:35
  • 阅读:6318

安卓Native.js隐藏系统虚拟导航栏(返回键、任务键、主页键)

分类:Native.js

在使用H5+开发APP的时候遇到这样一个需求,在APP打开的时候,要禁用或隐藏平板底部的系统状态栏/按钮,native是否能实现?安卓的java源码是需要继承activity 并且重写onCreate方法的~

2015-06-18 12:53 1 条评论 负责人:无 分享
已邀请:
Android_磊子

Android_磊子

你好,使用native.js是否可以满足你的需求。代码如下:
function test_hide_system_bar(){
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_HIDE_NAVIGATION);
}

  • neilFR (作者)

    感谢你提供的思路,可以实现了!现在还有个问题是否可以解答:NJS有没有详细的文档可以查看?我段代码我知道用java写是实现的了的,但是我刚学njs就是不会写,java中的getDecorView我之前就是不知道怎么去调用出来,我只获取了运行时对象,然后调用了getWindow,在继续调用getDecorView的时候就报错了,看了你提供的代码才知道要先引入


    2015-06-21 12:43

  • Android_磊子

    参考 http://www.html5plus.org/doc/zh_cn/android.html


    2015-06-23 12:00

Tony_shen

Tony_shen

if(window.plus){

	    plusReady();  
	  
	}else{   
	  
	    document.addEventListener( "plusready", plusReady, false );  
	  
	}  

	function plusReady(){  
	  
	    var ws = plus.webview.currentWebview(); //pw回车可输出plus.webview  
	    test_hide_system_bar();  
	  
	}  
	function test_hide_system_bar(){  
	   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_HIDE_NAVIGATION);  
	 }  

          这样好像无效呢?我哪里弄错了吗?请大侠帮忙
天边的屋檐

天边的屋檐

View.SYSTEM_UI_FLAG_HIDE_NAVIGATION 根据上面的例子,我一次调试成功了。底部的系统导航栏成功的隐藏了,现在是顶部还有一个消息通知、wifi显示、时间显示的系统栏,我也想隐藏掉,因为我们是平板做的自启动app,不允许用户出现别的什么界面的。请问顶部的这个系统通知栏是view.什么?

  • 光光阿斯蒂芬

    直接设置全屏好了...


    2018-01-16 09:54

  • 天边的屋檐

    额。谢谢


    2018-01-16 16:25

  • 天边的屋檐

    平板和手机都能隐藏底部系统导航栏(包括返回键啥的),但是在屏幕任意位置一点,系统导航栏又出现了。。。


    2018-01-17 00:26

天边的屋檐

天边的屋檐

用上述代码,系统导航栏(包括返回键)啥的确实隐藏了,但是在屏幕任意位置一点,导航栏又出现了。希望实现的效果是应用启动期间,导航栏永久不出现,避免用户切换到别的界面上去。如何实现,急求回复。

  • 1***@qq.com

    请问后续你做出来了么?


    2018-04-13 19:18

  • 2***@163.com

    我这边也是同样的需求,客户想要快进时点击正在播放的视频后视频进度条和虚拟按键出来以后就回不去了,客户是想快进之后进度条和虚拟按键会再次隐藏掉,一直都找不到合适的解决办法,你的问题处理好了么?


    2018-05-18 19:23

捌拾年代

捌拾年代

综合了楼主的方法和其他人的经验基本实现了功能
详情请参考
如何隐藏系统虚拟导航栏,实现沉浸式模式 - DCloud问答
http://ask.dcloud.net.cn/article/35299

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