gpt4 book ai didi

flutter - 如何让 Dart 的时间不断变化的计时器?

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

我有这样的计时器设置。我希望在changingTimeValue更改时使用新的时间值重置并重新初始化计时器。我可以通过哪些方式做到这一点?

snakeUpdateTimer = Timer.periodic( changingTimeValue , (timer){
snakeBloc.add(SnakeMoveEvent()) ;
});

最佳答案

Timer snakeUpdateTimer;

...

set changingTimeValue(Duration duration) {
snakeUpdateTimer?.cancel();
snakeUpdateTimer = Timer(
duration,
() => snakeBloc.add(SnakeMoveEvent()),
);
}

...

RaisedButton(
child: Text("Click to reset Timer"),
onPressed: (){
changingTimeValue= Duration(seconds: 3);
},
)

当您将 Duration分配给 changingTimeValue时,它将取消旧计时器并创建新计时器。

如果您还想在超时后定期重置计时器,请使用
set changingTimeValue(Duration duration) {
snakeUpdateTimer?.cancel();
snakeUpdateTimer = Timer.periodic(
duration,
(timer) => snakeBloc.add(SnakeMoveEvent()),
//timer contains number of cycles finished(timer.tick)
);
}

关于flutter - 如何让 Dart 的时间不断变化的计时器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59392028/

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