我有一个功能正常的动画控制器,可以从 4 小时的开始时间开始倒计时。 我可以启动计时器、暂停计时器并再次恢复计时器,所有这些都工作正常。
controller = AnimationController(
vsync: this,
duration: const Duration(seconds: 14400),
);
我现在想做的只是简单地添加按钮,例如在计时器运行时“从当前剩余时间中删除 5 分钟”。
在我看来,逻辑上的东西看起来像这样:
setState(() {
controller.duration = controller.duration - 300;
});
但是我似乎找不到办法做到这一点。 我所做的一切似乎都不起作用。 有什么想法吗?
天哪,老实说,我在发帖之前花了一个小时,然后我尝试的下一件事就成功了。 对于遇到此问题的其他人来说,这就是有效的方法:
controller.duration = 持续时间(秒: ((controller.duration!.inSeconds *controller.value) - 300).round());