【问题标题】:Can I handle onTap programmatically?我可以以编程方式处理 onTap 吗?
【发布时间】:2020-04-13 10:34:09
【问题描述】:

我的问题通常是 GestureDetector 需要我们用手触摸它。但现在我想以编程方式调用 onTap 函数。

如下所示:

GlobalKey gesKey = new GlobalKey();

GestureDetector(
            key:gesKey,
            onTap: (){
             doSomething();
            },
            child: Icon(Icons.add),
          )

我可以这样做:

gesKey.onTap();

这样我就可以调用 doSomething()。

我能意识到这一点吗?

【问题讨论】:

  • 为什么不能直接调用doSomething()?
  • @MidhunMP 因为我有一个覆盖此页面的对话框,并且我想在我的对话框中执行此操作,所以它看起来像钩子。

标签: flutter


【解决方案1】:

我想我已经找到了解决这个问题的方法。

    FlatButton(
          child: Text("click"),
          onPressed: () {
            final GestureDetector ges = gesKey.currentWidget;
            ges.onTap();
          },
        ),

【讨论】:

    猜你喜欢
    • 2014-11-22
    • 1970-01-01
    • 2015-08-17
    • 2015-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-10-06
    • 2011-06-26
    相关资源
    最近更新 更多