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