HarmonyOS 如何在单个页面调整状态栏字体颜色,而不是影响整个窗口下的所有页面

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
Heiang

目前设置状态栏颜色是使用窗口的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))
    }
  })
}

如果需要在A页面和B页面变更手机状态背景颜色及文字颜色,可以在两个页面都使用setWindowSystemBarProperties()方法设置状态栏的颜色。沉浸式参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-develop-apply-immersive-effects-V5

分享
微博
QQ
微信
回复
1天前
相关问题
鸿蒙怎么 修改状态栏字体颜色
12503浏览 • 1回复 待解决
HarmonyOS 如何指定页面占用状态栏
35浏览 • 1回复 待解决
HarmonyOS 状态栏颜色如何修改
64浏览 • 1回复 待解决
HarmonyOS 如何设置状态栏颜色
27浏览 • 1回复 待解决
如何设置状态栏和导航颜色
2997浏览 • 1回复 待解决