gpt4 book ai didi

flutter - 如何在不重新创建小部件的情况下重新渲染小部件-Flutter/Dart

转载 作者:行者123 更新时间:2023-12-03 03:32:42 25 4
gpt4 key购买 nike

在下面的代码中。有两个CountdownTimer(黄色和红色),并且当条件发生变化时,显示屏上显示的CountdownTimer小部件将发生变化,即从黄色切换为红色,反之亦然。
但是,切换时,CountdownTimer会“重新初始化”。
例如,假设黄色的初始计时器为60秒,勾选40秒后,还剩下20秒。此时,条件发生了两次更改,例如5秒钟,因此CountdownTimer切换为红色,然后又变为黄色。而不是从15秒开始运行计时器,而是从60秒重新开始。如何防止小部件的这种“重新初始化”,并且不管条件如何,允许计时器在后台独立进行?
另外,为了使这个问题更容易理解,我使用了经过修改的代码。因此,在实际代码中,我不能使用变量来存储endTime的值。因此,将需要另一个版本的答案。
从本质上讲,我需要一种方法来使CountdownTimer在后台保持 Activity 状态,而不会因删除该计数而造成困惑的垃圾收集。

condition ? CountdownTimer( // yellow
endTime: DateTime.now().millisecondsSinceEpoch + 200000,
textStyle: TextStyle(fontSize: 50, color: Colors.yellow),
)
: CountdownTimer( // red
endTime: DateTime.now().millisecondsSinceEpoch + 1000,
textStyle: TextStyle(fontSize: 50, color: Colors.red),
),

感谢您抽出时间来阅读。

最佳答案

关于flutter - 如何在不重新创建小部件的情况下重新渲染小部件-Flutter/Dart,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62968668/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com