HarmonyOS 如何控制状态栏

我想在应用内使控制状态栏,改变状态字体和图标颜色(黑色或白色)。还有开启沉浸式(状态栏背景透明,应用内容可以扩展至状态栏),请问我需要如何操作?有文档么?

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

目前设置状态栏颜色是使用窗口的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
微信
回复
2天前
相关问题
HarmonyOS 如何获取状态栏高度
16浏览 • 1回复 待解决
HarmonyOS 下拉如何隐藏状态栏
62浏览 • 1回复 待解决
HarmonyOS 如何设置状态栏颜色?
32浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
420浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
666浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
21浏览 • 1回复 待解决
如何实现沉浸式状态栏
576浏览 • 1回复 待解决
如何设置沉浸式状态栏
2631浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
845浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度?
189浏览 • 1回复 待解决
HarmonyOS 状态栏的颜色如何修改
69浏览 • 1回复 待解决
如何获取状态栏与导航高度?
266浏览 • 0回复 待解决
如何获取状态栏和导航高度
2938浏览 • 1回复 待解决
鸿蒙如何获取导航状态栏高度
11447浏览 • 1回复 待解决
获取状态栏与导航高度
678浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏
143浏览 • 1回复 待解决
HarmonyOS 如何指定页面占用状态栏
35浏览 • 1回复 待解决