在手势识别期间,开发者决定是否响应手势,例如下面的示例代码,通过onGestureJudgeBegin回调方法在手势识别期间进行判定,当手势为GestureType.DRAG的时候,不响应该手势,所以会使定义的onDragStart事件失效。@Entry @Component struct GesturesConflictScene6 { @State message: string = 'Hello World'; build() { Column() .width('100%') .height(200) .backgroundColor(Color.Brown) .onDragStart(() => { console.info('GesturesConflictScene6 Drag start.'); }) .gesture( TapGesture({ count: 1 }) .tag('tap1') .onAction(() => { console.info('GesturesConflictScene6 TapGesture onAction.'); }), ) .onGestureJudgeBegin((gestureInfo: GestureInfo, event: BaseGestureEvent) => { if (gestureInfo.type === GestureControl.GestureType.LONG_PRESS_GESTURE) { let longPressEvent = event as LongPressGestureEvent; console.info('GesturesConflictScene6: ' + longPressEvent.repeat); } if (gestureInfo.type === GestureControl.GestureType.DRAG) { // 返回 REJECT 会使拖动手势失败 return GestureJudgeResult.REJECT; } else if (gestureInfo.tag === 'tap1' && event.pressure > 10) { return GestureJudgeResult.CONTINUE } return GestureJudgeResult.CONTINUE; }) } }本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。
在手势识别期间,开发者决定是否响应手势,例如下面的示例代码,通过onGestureJudgeBegin回调方法在手势识别期间进行判定,当手势为GestureType.DRAG的时候,不响应该手势,所以会使定义的onDragStart事件失效。
本文参与了 【 HarmonyOS NEXT 技术问答冲榜,等你来战!】欢迎正在阅读的你也加入。