HarmonyOS 如何控制状态栏

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

HarmonyOS
2024-12-24 18:04:36
800浏览
收藏 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))
}
})
}
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.

如果需要在A页面和B页面变更手机状态背景颜色及文字颜色,可以在两个页面都使用setWindowSystemBarProperties()方法设置状态栏的颜色。

沉浸式参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-develop-apply-immersive-effects-V5

分享
微博
QQ
微信
回复
2024-12-24 20:16:43


相关问题
HarmonyOS 如何隐藏状态栏
570浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
1614浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
704浏览 • 1回复 待解决
HarmonyOS 下拉如何隐藏状态栏
596浏览 • 1回复 待解决
HarmonyOS 如何设置状态栏颜色?
1024浏览 • 1回复 待解决
如何获取状态栏与导航高度?
1217浏览 • 0回复 待解决
如何获取状态栏和导航高度
3896浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
1049浏览 • 1回复 待解决
HarmonyOS 沉浸式状态栏
713浏览 • 1回复 待解决
HarmonyOS 如何指定页面占用状态栏
498浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
723浏览 • 1回复 待解决
如何实现沉浸式状态栏
1433浏览 • 1回复 待解决
如何设置沉浸式状态栏
3638浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
1557浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度?
788浏览 • 1回复 待解决
HarmonyOS 状态栏的颜色如何修改
1366浏览 • 1回复 待解决