获取状态栏和导航栏的高度
- getWindowAvoidArea方法简介
- AvoidAreaType
- AvoidArea
- 获取状态栏和底部导航栏代码
- 参考资料
getWindowAvoidArea方法简介
获取当前窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
该接口一般适用于两种场景:
- 在onWindowStageCreate方法中,获取应用启动时的初始布局避让区域时可调用该接口;
- 当应用内子窗需要临时显示,对显示内容做布局避让时可调用该接口。
AvoidAreaType
表示规避区域的类型
AvoidArea
获取状态栏和底部导航栏代码
onWindowStageCreate(windowStage: window.WindowStage): void {this.getStatusBarInfo(windowStage)}getStatusBarInfo(windowStage:window.WindowStage):void{let mainWindow:window.Window = windowStage.getMainWindowSync();let type = window.AvoidAreaType.TYPE_SYSTEM;let area = mainWindow.getWindowAvoidArea(type);// 获取顶部的刘海屏高度,单位:pxlet statusBarHeight = area.topRect.height;type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR;// 获取底部手势区域高度,单位:pxarea = mainWindow.getWindowAvoidArea(type);let navigationHeight = area.bottomRect.height}
参考资料
getWindowAvoidArea
@ohos.arkui.uiExtension (uiExtension)
AvoidAreaType
AvoidArea7+