我是扑朔迷离的初学者,我想在我的测验应用程序中实现一个简单的CountDown Time(以分钟和秒为单位)。
我尝试实现在官方Flutter doc site中找到的CountdownTimer构造函数,但是无法将其应用到应用程序中的真实代码中。我能够复制@Yann39处Flutter Countdown Timer提供的代码,该代码有效。但是我想学习如何自己实现构造函数。
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: () {
startTimer();
},
child: Text("start"),
),
Text("$_start")
],
));
}
CountdownTimer构造函数
CountdownTimer(
Duration duration,
Duration increment, {
Stopwatch stopwatch
})
我基本上想知道如何实现CountDown timer构造函数来创建代码。我相信知道这一点还将帮助我实现和解释遇到的其他构造函数。
答案 0 :(得分:0)
CountdownTimer
is used when you have to do some work every time for specific amount of time. Here is an example to show you that.
CountdownTimer countdownTimer = CountdownTimer(
Duration(seconds: 5),
Duration(seconds: 1),
);
countdownTimer.listen((timer) {
// this code runs every second for 5 seconds
});