嗨,
我在Flutter的GestureDetector
中苦苦挣扎。我想做的非常简单:获取用户输入的垂直拖动距离。
我设法通过此示例代码做到了
int scrolled = 0;
....
GestureDetector(
onVerticalDragUpdate: (d){
scrolled += pos;
},
//TODO reset scrolled when finger leaves the screen
),
问题是我想检测用户手指何时离开屏幕以重置滚动的variable
。使用onVerticalDragEnd
不会产生任何效果,因为即使用户停止滚动并且手指仍在显示屏上,它也会被触发。
因此,我开始分析其他所有GestureDetector
回调的行为,寻找某种解决方案,但即使onTapUp(), onPanEnd()
也这样做
我想念什么? 谢谢
答案 0 :(得分:1)
使用Listener
检测每个触摸输入。
final touchDetector = new Listener(
behavior: HitTestBehavior.translucent,
onPointerUp: (_) => resetScroll(),
child: child,
);