flutter - 检测用户何时停止触摸屏幕
问题描述
项目
嗨,我GestureDetector
在 Flutter 中苦苦挣扎。我想做的非常简单:获取用户输入的垂直拖动距离。我设法用这个示例代码做到了这一点
int scrolled = 0;
....
GestureDetector(
onVerticalDragUpdate: (d){
scrolled += pos;
},
//TODO reset scrolled when finger leaves the screen
),
问题
问题是我想检测用户手指何时离开屏幕以重置滚动variable
。使用onVerticalDragEnd
不会成功,因为即使用户停止滚动并且手指仍在显示屏上,它也会被触发。
所以我开始分析其他所有GestureDetector
回调的行为,寻找一些解决方案,但甚至onTapUp(), onPanEnd()
做同样的事情
我错过了什么?谢谢
解决方案
用于Listener
检测每个触摸输入。
final touchDetector = new Listener(
behavior: HitTestBehavior.translucent,
onPointerUp: (_) => resetScroll(),
child: child,
);
推荐阅读
- java - 尝试从java中的hashmap对象获取值时出现空指针异常?
- android - 如何在 android 中使用 tensorflow 预训练模型制作 stylegan
- aws-api-gateway - 创建具有不同集成的多个 API Gateway 阶段
- kdb - 如何获得 KDB 中两个向量的外积?
- javascript - html2canvas 在不同的窗口大小上捕获一个全屏大小的chart.js-Chart
- python - 从原始 SQL 字符串查询创建 SQLAlchemy 反向查询
- python - 预期 google.protobuf.Duration 得到了 str
- python - 无法使用 Gunicorn 启动 FlasklApp
- jenkins - K8 pods 被驱逐:临时存储资源不足
- javascript - 如何将截获的请求正文保存到外部变量