gpt4 book ai didi

Flutter:使用手势检测器禁用多点触控/拖动

转载 作者:行者123 更新时间:2023-12-03 04:27:58 31 4
gpt4 key购买 nike

我目前正在构建一个多个处理的 slider 小部件,并且目前正在实现手势检测器。我有一个问题,如果您用第二根手指触摸/拖动屏幕,检测器会识别它并调用 onDragUpdate 函数,这是我试图禁用的功能 - 当一根手指拖动 handle 时,手势检测器不应为第二根手指调用更新,但仍应允许第一根手指调用更新。

例如,如果您用手指 1(精细)滑动 handle ,然后添加第二根手指,即手指 2,即使两个手指都在屏幕上,手势检测器也应该只识别手指 1。

我知道 Listener 类中有一个函数允许您指定一个设备(使用 details.device),但是有没有办法使用 Gesture Detector 类来实现这一点?

目前正在研究手势检测器的不同实现者,包括查看此答案 https://stackoverflow.com/a/56037327/12147590但我还在挣扎。如果有人可以为我指出正确的方向或用简单的语言进一步解释答案,那就太好了,干杯:)

最佳答案

按类reference :

Attempts to recognize gestures that correspond to its non-null callbacks.



所以如果你这样写:
GestureDetector(
onDragUpdate: (updateDetails) {
// Single finger drag, update your handlers
},
onPanDown: (_){},
onPanStart: (_){},
onPanUpdate: (_){},
onPanEnd: (_){},
onPanCancel: (){},
child: Container(
color: Colors.yellow,
child: Text('TURN LIGHTS ON'),
),
)

它不会对多点触控使用react,因此您不必禁用任何东西

UPD:根据问题编辑,您应该为所有多点触控事件设置空但非空的回调,因此两指拖动将由空回调处理,但单指不是

关于Flutter:使用手势检测器禁用多点触控/拖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58182007/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com