我在另一个线程上遇到了这个计时器代码。当您同时按下RaisedButton多次时,每次点击都会增加 -1 秒,从而增加减少的速度。
有关检查计时器是否已处于活动状态以及是否不允许创建RaisedButton新计时器的最简单方法的任何想法。谢谢!
import 'dart:async';
[...]
Timer _timer;
int _start = 10;
void startTimer() {
const oneSec = const Duration(seconds: 1);
_timer = new Timer.periodic(
oneSec,
(Timer timer) => setState(
() {
if (_start < 1) {
timer.cancel();
} else {
_start = _start - 1;
}
},
),
);
}
@override
void dispose() {
_timer.cancel();
super.dispose();
}
Widget build(BuildContext context) {
return new Scaffold(
appBar: AppBar(title: Text("Timer test")),
body: Column(
children: <Widget>[
RaisedButton(
onPressed: …Run Code Online (Sandbox Code Playgroud)