HarmonyOS 鸿蒙Next原生API可获取底部安全区高度,Flutter无法获取

发布于 1周前 作者 nodeper 来自 鸿蒙OS

HarmonyOS 鸿蒙Next原生API可获取底部安全区高度,Flutter无法获取

使用鸿蒙原生API 可以获取到底部安全区高度,使用Flutter无法获取到  ohos代码:

let type = window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR;

let avoidArea = windowClass.getWindowAvoidArea(type);

let bottomRectHeight = px2vp(avoidArea.bottomRect.height);  

flutter代码:

MediaQuery.of(context).padding.bottom

MediaQueryData.fromWindow(window).padding.bottom

2 回复

针对您提出的“HarmonyOS 鸿蒙Next原生API可获取底部安全区高度,Flutter无法获取”的问题,以下是我的专业解答:

在HarmonyOS鸿蒙Next中,原生API确实可以获取底部安全区高度。通过调用相关API,如window.AvoidAreaType.TYPE_NAVIGATION_INDICATORwindowClass.getWindowAvoidArea(type),可以获取到导航条等布局避让遮挡区域的高度。

然而,在Flutter中,由于框架和渲染机制的不同,直接获取底部安全区高度的方式可能有所不同。Flutter通常通过MediaQuery类来获取安全区域信息,但这主要适用于iOS设备。对于HarmonyOS设备,Flutter可能需要通过平台通道(Platform Channel)与原生代码进行交互,以获取底部安全区高度。

如果您在Flutter中无法获取底部安全区高度,建议检查您的平台通道实现是否正确,或者尝试使用其他方式(如监听窗口尺寸变化等)来间接获取相关信息。

如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部