【发布时间】: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