【问题标题】:Flutter - Update duration of countdown timerFlutter - 更新倒数计时器的持续时间
【发布时间】:2022-01-09 08:15:26
【问题描述】:

我正在尝试使用此资源显示倒数计时器:https://stackoverflow.com/a/64312145/13240914:

TweenAnimationBuilder<Duration>(
  duration: Duration(minutes: 3),
  tween: Tween(begin: Duration(minutes: 3), end: Duration.zero),
  onEnd: () {
    print('Timer ended');
  },
  builder: (BuildContext context, Duration value, Widget? child) {
    final minutes = value.inMinutes;
    final seconds = value.inSeconds % 60;
    return Padding(
      padding: const EdgeInsets.symmetric(vertical: 5),
      child: Text('$minutes:$seconds',
               textAlign: TextAlign.center,
               style: TextStyle(
               color: Colors.black,
               fontWeight: FontWeight.bold,
               fontSize: 30)));
    }),

问题是当持续时间仍在运行时,我想更新持续时间。例如,当用户单击一个按钮时,持续时间将从 10 秒变为 20 秒,但持续时间根本不会变为 20 秒……它会一直计数 10 秒。有没有办法在持续时间仍在运行时更新 Duration 的值?

【问题讨论】:

    标签: flutter timer countdown duration


    【解决方案1】:

    您不能使用 TweenAnimationBuilder 跳转到新值。您必须为此使用显式动画。看看这个:How to choose which Flutter Animation Widget is right for you?

    【讨论】:

    • 请附上您提供的网址中的相关引用,因为答案应长期有效,而网址可能会中断。
    猜你喜欢
    • 2013-01-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-10-14
    相关资源
    最近更新 更多