0

我知道我们可以忽略IgnorePointer小部件的指针,但我怎么能忽略一个特定的事件。例如,VerticalDrag或者tap

4

1 回答 1

1

如果您想忽略特定事件,在您的情况下VerticalDrag是小部件Container,您必须将有问题的小部件包装在GestureDetector

GestureDetectors总是会尝试使用非空回调来响应事件。

所以把所有这些放在一起,一个简单的代码片段来实现你想要的可能看起来像这样

GestureDetector(
        // Ignores all this events

        onVerticalDragUpdate: (_) {},

        onVerticalDragDown: (_) {},

        onVerticalDragEnd: (_) {},

        onVerticalDragStart: (_) {},

        onVerticalDragCancel: () {},

        onTap: () {},

        // Does not ignore these events below

        onDoubleTap: () {
          print('Container was double tapped');
        },
        onLongPress: () {
          print('Container was long pressed');
        },

        child: Container(),
      )
于 2020-11-22T14:02:13.100 回答