问题描述:windowclass.setWindowSystemBarProperties({ //以下两个属性从API Version8开始支持 statusBarContentColor: '\#000000' //状态栏字体颜色 }).then((d)=\>{ console.debug("") },(e:BusinessError)=\>{ console.debug("") }) 回调是成功的,但是状态栏并没有发生变化解决方案:目前设置状态栏颜色是使用窗口的API,调整维度是从整个窗口进行调整。需要做到页面的级别的话就需要在页面的生命周期中进行调整控制,在需要改变的页面直接调用setWindowSystemBarProperties方法。可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5\#setwindowsystembarproperties9参考如下代码: onPageShow(): void { window.getLastWindow(getContext(), (err, data) => { let win: window.Window; if (err.code) { console.error("error code :" + JSON.stringify(err.code)) return; } try { win = data; //设置窗口为全屏模式 win.setWindowLayoutFullScreen(true); // 设置状态栏 win.setWindowSystemBarProperties({ // 设置状态栏颜色为其他颜色 statusBarColor: '#00ff00', // 设置状态栏文本颜色为白色 statusBarContentColor: '#353535' }) console.info('带状态栏沉浸式窗口设置完成') } catch (expextion) { console.error("error cause :" + JSON.stringify(expextion)) } }) }
问题描述:windowclass.setWindowSystemBarProperties({ //以下两个属性从API Version8开始支持 statusBarContentColor: '\#000000' //状态栏字体颜色 }).then((d)=\>{ console.debug("") },(e:BusinessError)=\>{ console.debug("") }) 回调是成功的,但是状态栏并没有发生变化
解决方案:目前设置状态栏颜色是使用窗口的API,调整维度是从整个窗口进行调整。需要做到页面的级别的话就需要在页面的生命周期中进行调整控制,在需要改变的页面直接调用setWindowSystemBarProperties方法。可以参考官方文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/js-apis-window-V5\#setwindowsystembarproperties9