我刚接触Flutter,但是我还有一个关于Flutter onTap()和onPressed()的问题。如果onTap()用于小部件,而onPressed()用于按钮,那么为什么导航(Navigator.push和Navigator.pop)只允许使用onPressed()。
这对我来说是相当困扰的。
发布于 2021-08-07 14:29:58
让我们这样想,onPressed用于按钮,onTap用于任何手势。而且路由也没有什么问题。
大多数按钮都使用onPressed。如果你看一下InkWell,它使用了onTap。
让我们来谈谈GestureDetector吧。它提供了许多选项,如
this.onTapDown,
this.onTapUp,
this.onTap,
this.onTapCancel,
this.onSecondaryTap,
this.onSecondaryTapDown,
this.onSecondaryTapUp,
this.onSecondaryTapCancel,
this.onTertiaryTapDown,
this.onTertiaryTapUp,
this.onTertiaryTapCancel,
this.onDoubleTapDown,
this.onDoubleTap,
this.onDoubleTapCancel,
this.onLongPress,
this.onLongPressStart,
this.onLongPressMoveUpdate,
this.onLongPressUp,
this.onLongPressEnd,
.................我想你永远也找不到同时包含onTap和`onPressed的小部件。
有关更多信息,请查看this。
发布于 2021-08-07 19:43:23
onTap ()=> Navigator.of(context).push(..)
onPressed()=> Navigator.of(context).push(..)两者都可以工作
https://stackoverflow.com/questions/68693042
复制相似问题