如何实现对系统顶部状态栏文字(信号、时间、电量)和背景颜色的动态设置

点击已选择的图片切换到图片预览的场景,屏幕主体背景由白色变成黑色,期望顶部状态栏文字由黑色可以变为白色,是否可以在组件切换时由白底黑字切换为黑底白字

HarmonyOS
2024-04-29 00:05:33
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
退休的程序员

当前可以通过沉浸式窗口来实现相关效果相关方法如下:

在EntryAbility的onWindowStageCreate方法中通过windowStage获取window,然后分别调用setWindowLayoutFullScreen和setWindowSystemBarEnable方法。

参考Demo:

let windowClass = null; 
//获取窗口 
windowStage.getMainWindow((err, data) => { 
  if (err.code) { 
    console.error('Failed to obtain the main window. Cause: ’ + JSON.stringify(err)); 
    return; 
  } 
  windowClass = data; 
  console.info('Succeeded in obtaining the main window. Data: ’ + JSON.stringify(data)); 
  //设置窗口全屏 
  windowClass.setWindowLayoutFullScreen(true) 
  let names = []; 
  //设置状态栏和导航栏不显示 
  windowClass.setWindowSystemBarEnable(names, (err) => { 
    if (err.code) { 
      console.error(‘Failed to set the system bar to be visible. Cause:’ + JSON.stringify(err)); 
      return; 
    } 
    console.info(‘Succeeded in setting the system bar to be visible.’); 
  }); 
})

相关文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-guides/application-window-stage-0000001820999885

分享
微博
QQ
微信
回复
2024-04-29 16:12:21
相关问题
如何设置状态栏导航颜色
2623浏览 • 1回复 待解决
应用如何设置隐藏顶部状态栏
2185浏览 • 1回复 待解决
元服务顶部状态栏怎么设置标题
1689浏览 • 3回复 待解决
Js UI 如何设置状态栏背景是透明
3192浏览 • 1回复 待解决
如何获取系统导航状态栏高度
583浏览 • 1回复 待解决
状态栏设置颜色失效该怎么办啊?
1770浏览 • 1回复 待解决
设置状态栏颜色不起作用怎么回事?
2253浏览 • 1回复 待解决
鸿蒙怎么 修改状态栏字体颜色
12049浏览 • 1回复 待解决
uiextension为什么不会避让顶部状态栏
618浏览 • 1回复 待解决
如何设置沉浸式状态栏
2362浏览 • 1回复 待解决
如何获取状态栏导航高度
2727浏览 • 1回复 待解决
如何实现沉浸式状态栏
383浏览 • 1回复 待解决
HarmonyOS 修改状态栏颜色不生效
105浏览 • 1回复 待解决