onTapDown在Flutter中不会注册快速轻触。

huangapple go评论54阅读模式
英文:

onTapDown in Flutter doesn't register quick taps

问题

我有这段代码来检测轻按操作:

GestureDetector(
  onTapDown: (details) {
    // 执行操作
  },

它运行正常,除了对于非常短的轻按操作。

根据文档:

> 这是在经过短暂的超时后调用的,即使尚未选择获胜手势。如果轻按手势获胜,将调用[onTapUp],否则将调用[onTapCancel]。

为什么会有超时?我能去掉这个超时吗?

英文:

I have this code to detect a tapdown:

GestureDetector(
  onTapDown: (details) {
    // do action
  },

It works fine, except for really short taps.

From the documentation:

> This is called after a short timeout, even if the winning gesture has not yet been selected. If the tap gesture wins, [onTapUp] will be called, otherwise [onTapCancel] will be called.

Why the timeout? Can I get rid of the timeout?

答案1

得分: 0

onPanDown 立即触发。使用:

GestureDetector(
  onPanDown: (details) {
    // 执行操作
  },

解决了我的问题。

英文:

onPanDown is instantly triggered. Using:

GestureDetector(
  onPanDown: (details) {
    // do action
  },

Solved my issue.

huangapple
  • 本文由 发表于 2023年5月22日 21:58:29
  • 转载请务必保留本文链接:https://go.coder-hub.com/76306961.html
匿名

发表评论

匿名网友

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

确定