Flutter for web - 围绕 RaisedButton 的 GestureDetector

标签 flutter flutter-web

对于上下文:https://dartpad.dev/c9689b40a5402e12538c726b5c0380ff

我有一个 GestureDetector(具有一些特定的业务逻辑),它监听单击并有一个 child 作为参数。

在特定位置,我希望这个 child 小部件看起来像一个按钮。但是,使用真正的按钮小部件显然会跳过 GestureDetector 的 onTap

起初我以为 onTapCancel 会启动,但要让 onTapCancel 触发小部件,需要“长按”。

关于如何解决这个问题有什么建议吗? (在 child 周围使用 IgnorePointer 不起作用。)

最佳答案

AbsorbPointer

  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/

相关文章:

flutter - Flutter 中 PageController 的提供者状态管理

dart - 如何选择要使用 flutter web 上传的文件和图像

flutter - 跳过编译 flutter_web|web/main.dart] 因为它的一些库有这个平台不支持的 sdk 依赖项

flutter - Stream Builder 在 Flutter 中的先前数据之上更新数据

android-studio - Flutter 如何停止 android studio 自动导入以从 "file://..."开始

windows - 我可以在 mac 上为 windows 开发 flutter 桌面应用程序吗?

flutter - flutter web 中的启动画面

flutter - 一张 ListView 中的多张卡片

flutter - 如何在Flutter中设计Filter?

ios - 无法在iPhone上模拟应用程序