对于上下文:https://dartpad.dev/c9689b40a5402e12538c726b5c0380ff
我有一个 GestureDetector
(具有一些特定的业务逻辑),它监听单击并有一个 child
作为参数。
在特定位置,我希望这个 child
小部件看起来像一个按钮。但是,使用真正的按钮小部件显然会跳过 GestureDetector 的 onTap
。
起初我以为 onTapCancel
会启动,但要让 onTapCancel
触发小部件,需要“长按”。
关于如何解决这个问题有什么建议吗? (在 child 周围使用 IgnorePointer
不起作用。)
最佳答案
Widget build(BuildContext context) {
return GestureDetector(
child: AbsorbPointer(child : child),
onTap: () {
print('tap');
onTap();
},
onTapCancel: () {
print('tapCancel');
});
}
关于Flutter for web - 围绕 RaisedButton 的 GestureDetector,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60335245/