如何在Flutter中将简单的Countdown计时器构造函数实现到应用中?

时间:2019-04-08 12:09:04

标签: dart flutter

我是扑朔迷离的初学者,我想在我的测验应用程序中实现一个简单的CountDown Time(以分钟和秒为单位)。

我尝试实现在官方Flutter doc site中找到的CountdownTimer构造函数,但是无法将其应用到应用程序中的真实代码中。我能够复制@Yann39Flutter 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构造函数来创建代码。我相信知道这一点还将帮助我实现和解释遇到的其他构造函数。

1 个答案:

答案 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
});