HarmonyOS(53) 获取手机顶部状态栏和底部导航栏的高度
获取手机状态栏和底部导航栏高度
·
获取状态栏和导航栏的高度
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);
// 获取顶部的刘海屏高度,单位:px
let statusBarHeight = area.topRect.height;
type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR;
// 获取底部手势区域高度,单位:px
area = mainWindow.getWindowAvoidArea(type);
let navigationHeight = area.bottomRect.height
}
参考资料
getWindowAvoidArea
@ohos.arkui.uiExtension (uiExtension)
AvoidAreaType
AvoidArea7+
更多推荐
所有评论(0)