我已经嵌套了GestureDetetor
,但问题是只有子GestureDetector
的onTap
被执行。我不希望覆盖子进程的onTap,而是希望父进程和子进程的onTap都能执行。下面是我的代码:
GestureDetector(
onTap: () {
todo1();
},
child: GestureDetector(
onTap: () {
todo2();
},
child: Text("Nested Gesture")))
如何将其更改为同时调用todo1()
和todo2()
onTap?
编辑:子控件是一个可重用的自定义小部件,它有自己的实现,但现在正被父控件使用,父控件除了子控件外,还拥有自己的实现
3条答案
按热度按时间ztyzrc3y1#
我做了一个快速自定义手势识别器-它取消手势只有当用户已经移动太远,从初始点击点。
使用示例:
源代码:
更新别忘了导入:
e4eetjau2#
你可以在嵌套的onTap回调中调用todo1():
g6baxovj3#
如果你想同时执行父对象和子对象的onTap方法,你可以使用下面的代码片段:
behavior属性设置为
HitTestBehavior.translucent
,这允许父部件和子部件都接收点击。