Flutter开发HarmonyOS鸿蒙Next应用的时候OhosView嵌套百度地图滑动冲突问题如何解决

发布于 1周前 作者 caililin 最后一次编辑是 5天前 来自 Flutter

Flutter开发HarmonyOS鸿蒙Next应用的时候OhosView嵌套百度地图滑动冲突问题如何解决
在做Flutter适配鸿蒙的业务中的时候我们将百度地图套在了OhosView中并封装成了一个plugin,现在在实际体验的时候发现滑动的时候存在明显的卡顿,双指缩放功能也失效了应该是手势冲突导致的,这个该如何处理呀?

2 回复

伙伴你好,能否提供最小化复现demo? 麻烦您创建一个ir单来跟踪处理这个问题 https://issuereporter.developer.huawei.com/

在Flutter开发HarmonyOS鸿蒙Next应用时,遇到OhosView嵌套百度地图滑动冲突问题,可以尝试以下解决方案:

  1. 外部拦截法

    • 重写父容器的onInterceptTouchEvent方法,根据滑动方向判断是否需要拦截事件。
    • 在滑动开始时(ACTION_DOWN),父容器不拦截事件。
    • 在滑动过程中(ACTION_MOVE),根据滑动方向和业务逻辑决定是否拦截事件。
    • 滑动结束时(ACTION_UP),父容器不拦截事件。
  2. 内部拦截法

    • 子元素在接收到ACTION_DOWN事件时,调用getParent().requestDisallowInterceptTouchEvent(true),请求父容器不拦截后续事件。
    • 子元素在ACTION_MOVE事件中,根据滑动方向决定是否继续请求父容器不拦截事件。
    • 父容器在onInterceptTouchEvent方法中,对于非ACTION_DOWN事件,根据业务逻辑决定是否拦截。
  3. 调整嵌套结构

    • 如果可能,尝试调整OhosView和百度地图的嵌套层级,避免不必要的滑动冲突。

如果上述方法仍无法解决滑动冲突问题,请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html

回到顶部