实现状态栏透明的效果并且页面全屏。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%') } }
实现状态栏透明的效果并且页面全屏。demo如下: