获取手机底部导航栏高度 - HarmonyOS 鸿蒙Next

获取手机底部导航栏高度 - HarmonyOS 鸿蒙Next 获取系统底部导航栏高度,以实现页面布局规避底部导航栏

实现思路:在Ability的onWindowStageCreate方法中,执行如下代码:

let type = window.AvoidAreaType.TYPE_SYSTEM;
let avoidArea = windowClass.getWindowAvoidArea(type);

avoidArea.bottomRect.height=0是什么原因

2 回复
~~你的type错了,你要取值系统底部导航栏?

更多关于获取手机底部导航栏高度 - HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS中,获取手机底部导航栏高度可以通过WindowManagerWindowInsets来实现。首先,使用WindowManager获取当前窗口的WindowInsets对象,然后通过WindowInsetsgetSystemWindowInsetBottom()方法获取底部导航栏的高度。具体代码如下:

import window from '@ohos.window';

let windowClass = window.getLastWindow(this.context);
windowClass.getWindowInsets().then((insets) => {
    let bottomNavHeight = insets.getSystemWindowInsetBottom();
    console.log("Bottom Navigation Bar Height: " + bottomNavHeight);
});

这段代码首先通过window.getLastWindow()获取当前窗口对象,然后通过getWindowInsets()方法获取窗口的WindowInsets对象,最后使用getSystemWindowInsetBottom()方法获取底部导航栏的高度。

回到顶部