设置状态栏,调用setWindowSystemBarProperties不生效

我使用 setWindowSystemBarProperties 设置状态栏,不生效。

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));

      let SystemBarProperties={
        statusBarColor: '#ff0000',
        statusBarContentColor:'#000000'
      };
      windowClass.setWindowSystemBarProperties(SystemBarProperties, (err) => {
        if (err) {
          console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
          return;
        }
        console.info('Succeeded in setting the system bar properties.');
      });
    })
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.

后查阅文档发现api9无法使用,

设置状态栏,调用setWindowSystemBarProperties不生效-鸿蒙开发者社区

既然官方说不支持此接口,那怎样才能设置状态栏?


Ability框架
UI
2024-04-17 13:23:14
浏览
收藏 0
回答 1
回答 1
按赞同
/
按时间
caseer

这是 developer preview1的写法,参考下 setWindowSystemBarProperties9+

setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void

设置窗口全屏模式时窗口内导航栏、状态栏的属性,使用callback异步回调。

系统能力: SystemCapability.WindowManager.WindowManager.Core

参数:

参数名

类型

必填

说明

SystemBarProperties

​SystemBarProperties​

导航栏、状态栏的属性。

callback

AsyncCallback<void>

回调函数。

错误码:

以下错误码的详细介绍请参见​​窗口错误码​​。

错误码ID

错误信息

1300002

This window state is abnormal.

1300003

This window manager service works abnormally.

示例:

 import { BusinessError } from '@ohos.base';
 let SystemBarProperties: window.SystemBarProperties = {
 statusBarColor: '#ff00ff',
 navigationBarColor: '#00ff00',
 //以下两个属性从API Version8开始支持
 statusBarContentColor: '#ffffff',
 navigationBarContentColor: '#00ffff'
 };
 try {
 windowClass.setWindowSystemBarProperties(SystemBarProperties, (err: BusinessError) => {
 const errCode: number = err.code;
 if (errCode) {
 console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
 return;
 }
 console.info('Succeeded in setting the system bar properties.');
 });
 } catch (exception) {
 console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
 }
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
分享
微博
QQ
微信
回复
2024-04-17 15:14:15
相关问题
HarmonyOS 修改状态栏颜色生效
1135浏览 • 1回复 待解决
HarmonyOS 动态设置状态栏颜色
978浏览 • 1回复 待解决
HarmonyOS 状态栏图标颜色设置
981浏览 • 1回复 待解决
HarmonyOS 状态栏怎么设置颜色
913浏览 • 1回复 待解决
如何设置沉浸式状态栏
3705浏览 • 1回复 待解决
HarmonyOS 如何设置状态栏颜色?
1087浏览 • 1回复 待解决
如何设置状态栏和导航的颜色
4576浏览 • 1回复 待解决
HarmonyOS avsession状态栏按钮设置问题
512浏览 • 1回复 待解决
ets开发如何设置隐藏状态栏
4377浏览 • 1回复 待解决
应用如何设置隐藏顶部的状态栏
3227浏览 • 1回复 待解决
元服务顶部状态栏怎么设置标题
2723浏览 • 3回复 待解决