
在Flutter
的手势开发当中,我们会肯定遇到以下问题:
就是当用户同时在屏幕上做出两个手势时如何确定用户想使用哪一个手势?
这里会接触一个新名词手势消歧
,具体是指:
在每个GestureDetector中,每个检测到的手势都对应一个GestureRecognizer(手势识别器)对象,当产生多个这种对象时,就会把它们都放入手势竞技场(gesture arena)中并展开竞争,最终的胜出者就是表现出来的手势结果。这个过程就称为Flutter中的手势消歧(gesture disambiguation)。
还有另外一个知识点是:
框架内部的规则是,当父组件和子组件同时被手势探测器探测时,子组件在竞技场中永远胜出,这就是上面只能触发内部探测器的单击事件的原因。
这是我了解到手势消歧
的理论知识,希望对看文章的小伙伴有所启发。
网友评论