ArkUI 中如何使用 GestureGroup 实现手势的并发识别(Simultaneous Gesture Recognition)?

我希望在同一个组件上同时识别两种独立的手势,例如,既能响应用户的长按(LongPressGesture),又能响应用户的点击(TapGesture)。如何通过 GestureGroup 实现这两种手势的并发识别?

阅读 550
1 个回答

GestureGroup 组件用于组合多个手势识别器,并使用 GestureMode.Parallel 来指定它们可以同时被识别。

  1. 创建手势组: 使用 GestureGroup 构造函数,并传入手势模式和手势列表。
  2. 设置并发模式: 设置 GestureMode.Parallel 允许组内的所有手势同时被识别。

示例(同时识别长按和轻击):

Column() {
 Text('同时识别长按和轻击')
 .gesture(
 GestureGroup(GestureMode.Parallel, [ // 使用 Parallel 模式
 LongPressGesture()
 .onAction(() => { console.log('长按触发'); }),

 TapGesture()
 .onAction(() => { console.log('轻击触发'); })
 ])
 )
}
.size({ width: 200, height: 100 })
.border({ width: 1, color: Color.Black })
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进