Flutter:在满足特定条件时如何取消onPanUpdate?

时间:2019-01-20 14:41:03

标签: flutter gesturedetector

在我的GestureDetector中,我使用onPanUpdate来放大子图像。因此,当我触摸图像并向上移动手指时,它会变大。现在,我想取消此onPanUpdate-侦听器,只要我的移动距离大于20px,而无需抬起手指。我该怎么办?

GestureDetector(
          onPanStart: (DragStartDetails details) {
            initial = details.globalPosition.dy;
          },
          onPanUpdate: (DragUpdateDetails details) {
            double distance = -details.globalPosition.dy + initial;
           if(distance > 20){
             print("thats far enough");
             // cancel PanUpdate
           } else {
            setState(() {
              scale = distance;
            });}
          },
          onPanEnd: (DragEndDetails details) {

            setState(() {
              scale = 1;
            });
          },

使用此代码,只要我的手指一直在屏幕上,就会一遍又一遍地打印“足够远”。但是我需要在到达特定距离后立即取消整个操作。希望它变得清楚:)

0 个答案:

没有答案