鸿蒙在界面设置为全面屏时如果获取底部虚拟导航的高度HarmonyOS 鸿蒙Next
鸿蒙在界面设置为全面屏时如果获取底部虚拟导航的高度HarmonyOS 鸿蒙Next
this.window.setWindowLayoutFullScreen(true)时,需要获取到底部虚拟手势区域,将整体界面距离底部一定距离,如何获取这块区域的高度
2 回复
可以使用getWindowAvoidArea接口获取,参考文档:https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V13/js-apis-window-V13
更多关于鸿蒙在界面设置为全面屏时如果获取底部虚拟导航的高度HarmonyOS 鸿蒙Next的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在鸿蒙系统中,当界面设置为全面屏时,获取底部虚拟导航栏的高度可以通过WindowManager
类中的getWindowInsets()
方法实现。具体步骤如下:
- 使用
WindowManager
获取当前窗口的WindowInsets
对象。 - 通过
WindowInsets
对象的getSystemWindowInsets()
方法获取系统窗口的边距信息,其中包括底部虚拟导航栏的高度。
示例代码如下:
import window from '@ohos.window';
let windowClass = window.getLastWindow(this.context);
windowClass.on('systemBarTintChange', () => {
let windowInsets = windowClass.getWindowInsets();
let systemWindowInsets = windowInsets.getSystemWindowInsets();
let bottomInset = systemWindowInsets.bottom;
console.log('Bottom Navigation Height: ' + bottomInset);
};
这段代码通过监听systemBarTintChange
事件,获取窗口的WindowInsets
,并从中提取底部虚拟导航栏的高度。bottomInset
即为底部虚拟导航栏的高度值。