在官方中 只需要添加下面这段即可,实则不然
onShow: function() {
console.log('App Show');
/* #ifdef APP-PLUS */
// plus.navigator.setStatusBarStyle("light")
/* #endif */
},
添加后状态栏的字体颜色还是黑色 我设置的背景色 太接近导致看不清
在官方论坛中 有人使用下面操作可以解决,我测试后也不行 ,定时器也不可.
onShow: function() {
console.log('App Show');
/* #ifdef APP-PLUS */
this.$nextTick(() => {
plus.navigator.setStatusBarStyle('light');
});
/* #endif */
},
直接上解决办法
步骤一 : 在根目录manifest.json的源码视图修改app-plus的内容,只需要把下面这代码复制到app-plus下
"statusbar" : {
"immersed" : false, //关闭全屏渲染
"style" : "light", //设置前景色为亮色
"background" : "#1c2036" //设置背景色为自定义颜色
},
步骤二:在根目录 pages.json 的下全局globalStyle设置导航文字颜色为white 因为前景色设置为light
"globalStyle": {
"navigationBarTitleText": "uni-app",
"navigationBarBackgroundColor": "#F8F8F8",
"backgroundColor": "#F8F8F8",
"rpxCalcMaxDeviceWidth": 960, // rpx 计算所支持的最大设备宽度,单位 px,默认值为 960
"rpxCalcBaseDeviceWidth": 375, // rpx 计算使用的基准设备宽度,设备实际宽度超出 rpx 计算所支持的最大设备宽度时将按基准宽度计算,单位 px,默认值为 375
"rpxCalcIncludeWidth": 750, // rpx 计算特殊处理的值,始终按实际的设备宽度计算,单位 rpx,默认值为 750
"navigationStyle": "custom",
"navigationBarTextStyle": "white" //必须要和设置的前景色为一致,如有某个页面不匹配,请查看单独导航是否设置文字颜色
},
搞完这两步 大功告成