Flutter开发HarmonyOS鸿蒙Next应用的时候OhosView嵌套百度地图滑动冲突问题如何解决
Flutter开发HarmonyOS鸿蒙Next应用的时候OhosView嵌套百度地图滑动冲突问题如何解决
在做Flutter适配鸿蒙的业务中的时候我们将百度地图套在了OhosView中并封装成了一个plugin,现在在实际体验的时候发现滑动的时候存在明显的卡顿,双指缩放功能也失效了应该是手势冲突导致的,这个该如何处理呀?
2 回复
伙伴你好,能否提供最小化复现demo? 麻烦您创建一个ir单来跟踪处理这个问题 https://issuereporter.developer.huawei.com/
在Flutter开发HarmonyOS鸿蒙Next应用时,遇到OhosView嵌套百度地图滑动冲突问题,可以尝试以下解决方案:
-
外部拦截法:
- 重写父容器的
onInterceptTouchEvent
方法,根据滑动方向判断是否需要拦截事件。 - 在滑动开始时(
ACTION_DOWN
),父容器不拦截事件。 - 在滑动过程中(
ACTION_MOVE
),根据滑动方向和业务逻辑决定是否拦截事件。 - 滑动结束时(
ACTION_UP
),父容器不拦截事件。
- 重写父容器的
-
内部拦截法:
- 子元素在接收到
ACTION_DOWN
事件时,调用getParent().requestDisallowInterceptTouchEvent(true)
,请求父容器不拦截后续事件。 - 子元素在
ACTION_MOVE
事件中,根据滑动方向决定是否继续请求父容器不拦截事件。 - 父容器在
onInterceptTouchEvent
方法中,对于非ACTION_DOWN
事件,根据业务逻辑决定是否拦截。
- 子元素在接收到
-
调整嵌套结构:
- 如果可能,尝试调整OhosView和百度地图的嵌套层级,避免不必要的滑动冲突。
如果上述方法仍无法解决滑动冲突问题,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html。