首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Flutter onTap()和onPressed()

Flutter onTap()和onPressed()
EN

Stack Overflow用户
提问于 2021-08-07 14:02:27
回答 2查看 131关注 0票数 1

我刚接触Flutter,但是我还有一个关于Flutter onTap()和onPressed()的问题。如果onTap()用于小部件,而onPressed()用于按钮,那么为什么导航(Navigator.push和Navigator.pop)只允许使用onPressed()。

这对我来说是相当困扰的。

EN

回答 2

Stack Overflow用户

发布于 2021-08-07 14:29:58

让我们这样想,onPressed用于按钮,onTap用于任何手势。而且路由也没有什么问题。

大多数按钮都使用onPressed。如果你看一下InkWell,它使用了onTap

让我们来谈谈GestureDetector吧。它提供了许多选项,如

代码语言:javascript
复制
    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

票数 0
EN

Stack Overflow用户

发布于 2021-08-07 19:43:23

代码语言:javascript
复制
onTap ()=> Navigator.of(context).push(..)
onPressed()=> Navigator.of(context).push(..)

两者都可以工作

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68693042

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档