Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/dart/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Flutter 检测用户何时停止触摸屏幕 项目_Flutter_Dart - Fatal编程技术网

Flutter 检测用户何时停止触摸屏幕 项目

Flutter 检测用户何时停止触摸屏幕 项目,flutter,dart,Flutter,Dart,嗨, 我正挣扎于颤振中的手势检测器。我想做的非常简单:获取用户输入的垂直拖动距离。 我用这个示例代码成功地做到了这一点 int scrolled = 0; .... GestureDetector( onVerticalDragUpdate: (d){ scrolled += pos; }, //TODO reset scrolled when finger leaves the screen ), 问题 问题是我想检测用户

嗨, 我正挣扎于颤振中的
手势检测器
。我想做的非常简单:获取用户输入的垂直拖动距离。
我用这个示例代码成功地做到了这一点

  int scrolled = 0;

  ....

  GestureDetector(
    onVerticalDragUpdate: (d){
      scrolled += pos;
    },     
    //TODO reset scrolled when finger leaves the screen  
  ),
问题 问题是我想检测用户手指何时离开屏幕,以便重置滚动的
变量
。使用
onVerticalDragEnd
不会起作用,因为即使用户停止滚动且手指仍在屏幕上,它也会被触发

因此,我开始分析其他所有
GestureDetector
回调的行为,寻找一些解决方案,但甚至
onTapUp(),onPanEnd()
也会这样做

我错过了什么?
谢谢

使用
监听器
检测每个触摸输入

final touchDetector = new Listener(
  behavior: HitTestBehavior.translucent,
  onPointerUp: (_) => resetScroll(),
  child: child,
);

我认为你应该用onPanUpdate来代替。用什么方法?我如何检测手指何时离开?在pan更新中,我无法控制使用
onPanUpdate
而不是
onverticaldraguupdate
,然后使用
onPanEnd