在使用H5+开发APP的时候遇到这样一个需求,在APP打开的时候,要禁用或隐藏平板底部的系统状态栏/按钮,native是否能实现?安卓的java源码是需要继承activity 并且重写onCreate方法的~
- 发布:2015-06-18 12:53
- 更新:2018-11-29 10:35
- 阅读:6558
你好,使用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);
}
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.什么?
用上述代码,系统导航栏(包括返回键)啥的确实隐藏了,但是在屏幕任意位置一点,导航栏又出现了。希望实现的效果是应用启动期间,导航栏永久不出现,避免用户切换到别的界面上去。如何实现,急求回复。
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