Flutter 如何在不重新创建小部件的情况下重新加载小部件-颤振/飞镖
在下面的代码中。有两个倒计时装置(黄色和红色),当条件改变时,显示屏上显示的倒计时装置小部件将改变,即从黄色切换到红色,反之亦然 但是,当它切换时,倒计时变为“重新初始化”。 例如,假设黄色的初始计时器为60秒,滴答声持续40秒后,它将下降到剩下的20秒。此时,条件改变两次,例如5秒,因此倒计时开关切换为红色,然后返回黄色。它不是从15秒开始计时,而是从60秒开始重新启动。我如何防止小部件的这种“重新初始化”,并允许计时器在后台独立运行,而不管条件如何 另外,为了使这个问题更容易理解,我使用了一个经过修改的代码版本。因此,在实际代码中,我不能使用变量来存储endTime的值。因此,需要另一个版本的答案 本质上,我需要一种方法,使两个倒计时器在后台保持活动状态,而不让flatter垃圾收集将其删除Flutter 如何在不重新创建小部件的情况下重新加载小部件-颤振/飞镖,flutter,dart,Flutter,Dart,在下面的代码中。有两个倒计时装置(黄色和红色),当条件改变时,显示屏上显示的倒计时装置小部件将改变,即从黄色切换到红色,反之亦然 但是,当它切换时,倒计时变为“重新初始化”。 例如,假设黄色的初始计时器为60秒,滴答声持续40秒后,它将下降到剩下的20秒。此时,条件改变两次,例如5秒,因此倒计时开关切换为红色,然后返回黄色。它不是从15秒开始计时,而是从60秒开始重新启动。我如何防止小部件的这种“重新初始化”,并允许计时器在后台独立运行,而不管条件如何 另外,为了使这个问题更容易理解,我使用了一
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),
),
感谢您抽出时间阅读此文章。您不能始终同时拥有两个计时器,而只是根据情况更改可见性吗 另请参见:
.你能发布倒计时的代码吗?@ShubhamGupta是的,倒计时是我从哦,不,先生,你是对的。使用您提供的链接中的“Gone示例”更改可见性无效。但通过在“Gone示例”中添加“maintaintState:true”,它确实可以防止倒计时计时器被删除。谢谢你的回答。