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

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

HarmonyOS
2024-04-29 00:05:33
1240浏览
收藏 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.’); 
  }); 
})
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.

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

分享
微博
QQ
微信
回复
2024-04-29 16:12:21


相关问题
HarmonyOS 动态设置状态栏颜色
889浏览 • 1回复 待解决
如何设置状态栏导航颜色
4468浏览 • 1回复 待解决
应用如何设置隐藏顶部状态栏
3199浏览 • 1回复 待解决
HarmonyOS 如何设置状态栏颜色
1020浏览 • 1回复 待解决
HarmonyOS 状态栏怎么设置颜色
850浏览 • 1回复 待解决
HarmonyOS 状态栏图标颜色设置
935浏览 • 1回复 待解决
元服务顶部状态栏怎么设置标题
2699浏览 • 3回复 待解决