flutter - 我如何创建一个覆盖屏障来捕获 onTap 事件,同时将它们传递给后面的小部件?

标签 flutter

我的问题是:如何创建一个小部件来“观察”点击手势并对其使用react而不消耗它们?


我想创建一个 TextField,当它获得焦点时,它会在字段下方的弹出式叠加层中显示自动完成建议(类似于 Google 搜索)。

当用户在 TextField 之外点击屏幕时,叠加层应该关闭,但不会消耗点击事件

例如,如果用户在建议叠加层可见时点击复选框,则叠加层应该关闭并且复选框应该被切换。

我查看了 Flutter 的 DropdownButton 的源代码,它在 PopupRoute 中显示下拉项列表,可以通过点击屏幕将其关闭。在内部,PopupRoute 创建了一个屏幕填充 ModalBarrier,它使用 GestureDetector 捕获点击事件(但它会消耗手势事件并且不会传递它们).

最佳答案

您可以将 GestureDetectorHitTestBehavior 一起使用设置为 translusent

关于flutter - 我如何创建一个覆盖屏障来捕获 onTap 事件,同时将它们传递给后面的小部件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51418330/

相关文章:

flutter - 使用网格布局的文本和文本字段

dart - Flutter 如何将 String 转换为 List<String>

flutter - 我可以使用 Dart 在 Flutter 中将数据写入 Apple HealthKit/Google-fit

dart - 将 ListTile 图标左对齐

flutter - flutter 我如何连续外星图标

firebase - Firestore 无法使用 Flutter for iOS 构建

flutter - 在 Dart 的主线程中强制执行

linux - Flutter 作为 Linux(非 Android)上的 GUI

firebase - 无法从数据库获取DataSnapshot并获取空值

flutter - 如何将静态变量转换为常量并将其传递给期望最终值的类构造函数