1# 窗口管理开发常见问题 2 3## 如何获取状态栏和导航栏高度 4 5适用于OpenHarmony 3.2 Beta5 API 9 6 7**解决措施** 8 9在加载窗口内容之前,采用systemAvoidAreaChange事件监听。 10 11**代码示例** 12 13``` 14// MainAbility.ts 15import window from '@ohos.window'; 16 17/** 18 * 设置沉浸式窗口,并获取状态栏和导航栏高度 19 * @param mainWindow 主窗口对象 20 */ 21async function enterImmersion(mainWindow: window.Window) { 22 mainWindow.on("systemBarTintChange", (data) => { 23 let avoidAreaRect = data.regionTint[0].region; //data.regionTint是个数组,包含状态栏、导航栏的矩形区域坐标。 24 }) 25 await mainWindow.setFullScreen(true) 26 await mainWindow.setSystemBarEnable(["status", "navigation"]) 27 await mainWindow.systemBarProperties({ 28 navigationBarColor: "#00000000", 29 statusBarColor: "#00000000", 30 navigationBarContentColor: "#FF0000", 31 statusBarContentColor: "#FF0000" 32 }) 33} 34export default class MainAbility extends Ability { 35 // do something 36 async onWindowStageCreate(windowStage: window.WindowStage) { 37 let mainWindow = await windowStage.getMainWindow() 38 await enterImmersion(mainWindow) 39 windowStage.loadContent('pages/index') 40 } 41 // do something 42} 43``` 44 45## 应用如何设置隐藏顶部的状态栏 46 47适用于OpenHarmony 3.2 Beta5 API 9 48 49**解决措施** 50 51在UIAbility的onWindowStageCreate的生命周期中设置setWindowSystemBarEnable接口即可。 52 53**代码示例** 54 55``` 56onWindowStageCreate(windowStage){ 57 windowStage.getMainWindowSync().setWindowSystemBarEnable([]) 58 ...... 59} 60``` 61 62**参考链接** 63 64[窗口基础能力文档](../reference/apis/js-apis-window.md) 65 66