如何仅在 Flutter 中吸收滑动动作

问题描述

我正在寻找一个类似于 AbsorbPointer 的小部件,它可以吸收滑动动作。目标是让“点击”动作传递给孩子,但让父母处理“滑动”动作。

如果可能,我还想根据方向区分吸收(例如,仅吸收垂直运动)。

感谢您的帮助,

解决方法

您可以使用 GestureDetector 检测点击行为和滑动动作

GestureDetector(
  child: Widget(),// your widget
  onTap: () { // Tap behavior listener
    // your tap logic
  },onHorizontalDragUpdate: (DragUpdateDetails details) { // Swipe behavior listener
    print(details.primaryDelta); // Positive is left to right,Negative is right to left
    // your swipe logic 
  },)

使用两个 GestureDetector 您可以使用侦听器 onHorizontalDragUpdate 扭曲父级以检测滑动动作,同时使用侦听器 onTap 扭曲子级以检测点击行为