HarmonyOS gesture手势如何做精确的手势冲突控制

swiper(){
  ComponentA().gesture(
    GestureGroup(
      PanGesture({ direction: PanDirection.Horizontal })
  )
  )
}

我目前有这个的UI结构,ComponentA在can_move_state状态下会响应左右横滑事件,如何能够使得ComponentA优先响应横滑,如果ComponentA不响应,则父组件swiper响应呢,

ps: can_move_state状态在touchdown事件后判定,如果是长按则进入这个状态,

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

可以参考:

Swiper(){
  Text("111").height(80).width("100%").backgroundColor('#ffa')
  Text("222").height(80).width("100%").backgroundColor('#ffa')
  Text("333").height(80).width("100%").backgroundColor('#ffa').gesture(PanGesture()
    .onActionStart(() => {
      console.info("child", "gesture")
    })
      // 当该手势被触发时,根据回调获得拖动的距离,修改该组件的位移距离从而实现组件的移动
    .onActionUpdate((event: GestureEvent) => {

    }))
  Text("444").height(80).width("100%").backgroundColor('#ffa')
}
// .disableSwipe(true)
.parallelGesture(PanGesture()
  .onActionStart(() => {
    console.info("12222", "gesture")
  })
    // 当该手势被触发时,根据回调获得拖动的距离,修改该组件的位移距离从而实现组件的移动
  .onActionUpdate((event: GestureEvent) => {

  })
)

swiper的简单demo如上,这样设置,第三个子组件滑动的时候,不会触发滚动翻页效果,而且最外层Swiper可以接受到滑动手势,需要如何操作,可以根据自身条件判断,什么时候执行什么,要翻页的话,可以找swiper的controller进行操作

分享
微博
QQ
微信
回复
23h前
相关问题
HarmonyOS 如何从子组件控制手势分发
472浏览 • 1回复 待解决
Web和List嵌套手势冲突问题
1043浏览 • 1回复 待解决
HarmonyOS 多层级手势事件控制咨询
21浏览 • 1回复 待解决
HarmonyOS gesture和onTouch冲突问题
20浏览 • 1回复 待解决
HarmonyOS如何做代码混淆
563浏览 • 1回复 待解决
HarmonyOS 如何做不规则流水布局
27浏览 • 1回复 待解决
HarmonyOS 手势监听
37浏览 • 1回复 待解决
HarmonyOS 环境如何做反射执行
47浏览 • 1回复 待解决
HarmonyOS 如何做行为统计插桩
375浏览 • 1回复 待解决
Harmony弹窗可以精确控制位置吗?
1906浏览 • 1回复 待解决
如何获取手势区域高度
378浏览 • 1回复 待解决
HarmonyOS 如何做base64加密?
24浏览 • 1回复 待解决
HarmonyOS 动画效果+手势
67浏览 • 1回复 待解决
HarmonyOS这边如何做防止反编译?
384浏览 • 1回复 待解决