Flutter-如何显示在Text()中运行60秒的计时器

时间:2019-05-06 23:47:30

标签: timer flutter

我正在构建一个需要在Text()内显示计时器的应用程序,持续时间为60秒,当屏幕打开时,计时器会在Text()内自动从0到60秒启动。

我尝试使用Time Builder lib,但我不知道如何使运行时间(分钟和秒)放入Text()。

class ClockWidget extends StatelessWidget {

  @override
  Widget build(BuildContext context) {
    return TimerBuilder.periodic(Duration(seconds: 60),
      builder: (context) {
        return Text("00:00");
      }
    );
  }

}

2 个答案:

答案 0 :(得分:1)

在单击按钮时从0到60。

updatePathology

答案 1 :(得分:0)

我必须使用AnimatedBuilder来解决我的问题。

  String get timerString {
    Duration duration = controller.duration * controller.value;
    return '${(duration.inSeconds  % 60).toString().padLeft(2, '0')}';
  }

AnimatedBuilder(
              animation: controller,
              builder: (context, child){
                return Text(
                  timerString,
                  style: TextStyle(
                    fontSize: 20,
                    fontWeight: FontWeight.bold,
                  ) ,
                );
              }
          ),