项目需求
将一个webapp打包成成andriod端和ios端,并且实现沉浸式状态栏
什么是沉浸式状态栏
直接上图
非沉浸式状态栏
沉浸式状态栏
可以看出,非沉浸式状态下,状态栏与app界面是分离的,不是很美观;而沉浸式状态栏则与app界面融为一体,对比之下沉浸式状态栏要美观很多。
Android实现
- 安装cordova-plugin-statusbar插件
cordova-plugin-statusbar是一个方便开发者自定义ios和andriod状态栏的插件
//安装插件
cordova plugin add cordova-plugin-statusbar
- 修改statusbar.java
找到android\app\src\main\java\org\apache\cordova\statusbar中的statusbar.java
其中的getActivity(),默认是这样
this.cordova.getActivity().runOnUiThread(new Runnable() {
@Override
public void run() {
// Clear flag FLAG_FORCE_NOT_FULLSCREEN which is set initially
// by the Cordova.
Window window = cordova.getActivity().getWindow();
window.clearFlags(WindowManager.LayoutParams.FLAG_FORCE_NOT_FULLSCREEN);
// Read 'StatusBarBackgroundColor' from config.xml, default is #000000.
setStatusBarBackgroundColor(preferences.getString("StatusBarBackgroundColor", "