我怎样才能实现 "onContinuousPress" 之类的行为?

How can I achieve "onContinuousPress" like behaviour?

假设我的 Flutter 应用中某处有这个按钮:

FloatingActionButton(
 backgroundColor: Theme.of(context).primaryColor,
 child: Icon(Icons.arrow_upward),
 onPressed: _someAction,
);

我希望只要我的手指点击按钮(即如果我连续点击 T 秒 _someAction() 就会执行 _someAction() 应该执行 N 次,

其中 N=(int)(60/T + 1))

我调查了 GestureDetector 但在那里找不到我需要的东西。 我需要这个例如为了 increase/decrease 一些 int 值...

使用 GestureDetectorTimer 中的 onTapDownonTapUp 来实现您的目标。

手势检测器

onTapDown: (_) => setState(() {
    _timerStart = true;
    _restartTimer();
}),
onTapUp: (_) => setState(() => _timerStart = false),

一些动作

void _restartTimer() {
  _timer?.cancel();
  _timer = Timer(Duration(milliseconds: 100), () {
    // _someAction()
    if (_timerStart) {
        _restartTimer();
    }
  });
}
int _value = 0;
Timer _timer;

Widget build(BuildContext context) {
  return GestureDetector(
    onTapDown: (details) => _startTimer(true),
    onTapUp: (details) => _startTimer(false),
    child: FlutterLogo(size: 200),
  );
}

void _startTimer(bool start) {
  if (!start) {
    _timer.cancel();
    return;
  }
  // you can adjust the timings here
  _timer = Timer.periodic(Duration(milliseconds: 1), (_) => _myMethod());
}

// this method will be getting called as long as you hold
void _myMethod() => print("value = ${++_value}");