HarmonyOS 怎么设置无导航栏全局样式?

顶部时间,wifi 电量等栏 背景颜色透明

阅读 635
1 个回答

实现状态栏透明的效果并且页面全屏。demo如下:

//在EntryAbility.ets中设置windowClass
let windowClass: window.Window = windowStage.getMainWindowSync();
AppStorage.setOrCreate("windowClass",windowClass);

import window from '@ohos.window';
import { BusinessError } from '@ohos.base';

@Component
@Entry
struct index {
  private windowClass = AppStorage.get("windowClass") as window.Window
  @State message: string = 'Hello World';
  aboutToAppear(): void {
    //全屏
    try {
      this.windowClass.setWindowLayoutFullScreen(true, (err: BusinessError) => {
        const errCode: number = err.code;
        if (errCode) {
          console.error(Failed to set the window layout to full-screen mode. Cause code: ${err.code}, message: ${err.message});
          return;
        }
        console.info('Succeeded in setting the window layout to full-screen mode.');
      });
    } catch (exception) {
      console.error(Failed to set the window layout to full-screen mode. Cause code: ${exception.code}, message: ${exception.message});
    }
    //设置状态栏颜色
    let sysBarProps: window.SystemBarProperties = {
      statusBarColor: Color.Transparent.toString(),
      statusBarContentColor: '#00ff00',
    };
    this.windowClass.setWindowSystemBarProperties(sysBarProps, (err: BusinessError) => {
      let 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.');
    });

  }
  build() {
    RelativeContainer() {
      Text(this.message)
        .id('HelloWorld')
        .fontSize(50)
        .fontWeight(FontWeight.Bold)
        .alignRules({
          center: { anchor: 'container', align: VerticalAlign.Center },
          middle: { anchor: 'container', align: HorizontalAlign.Center }
        })
    }.backgroundColor(Color.Red)
    .height('100%')
    .width('100%')
  }
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进