多个手势连续识别时,第一个手势不触发onActionEnd回调
在多点触控环境中,当多个手势(如触摸、捏合、旋转等)连续识别时,确实存在一种情况,即第一个手势可能不会触发onActionEnd
回调。这是因为onActionEnd
通常只在手指离开触摸屏时被调用。如果第一个手势在执行过程中有其他手指触摸屏幕,那么onActionEnd
可能不会被触发,因为第一个手指并未离开触摸屏。
要解决这个问题,你可以尝试监听其他相关的事件,例如onGestureEnd
或onTouchEnd
,这些事件在任何手势结束时都会被触发,无论是否触发了onActionEnd
。此外,你也可以根据需要自行实现一个逻辑,用于检测并处理手势结束的情况。
在某些情况下,你可能需要在用户完成一系列手势后手动调用onActionEnd
,以确保相关逻辑得到正确执行。
需要注意的是,不同平台和框架对于多点触控事件的处理方式可能有所不同,因此在实际应用中需要针对具体的平台或框架进行适配和调整。
在组合手势当中,排列在前面的手势的
onActionEnd
都是触发不了的,只有最后一个的手势的onActionEnd
才会触发。如果最后一个的End
被触发,认为是组合手势成功,如果最后一个的End
没有被触发,认为是组合手势失败,会触发一个整体的手势的onCancel
。参考链接
组合手势