gpt4 book ai didi

flutter - 无法在CountDownTimer中更改endTime

转载 作者:行者123 更新时间:2023-12-03 04:46:56 29 4
gpt4 key购买 nike

我想在flutter应用程序中创建一个倒数计时器,并使用 flutter_countdown_timer 来实现。在我的应用程序中,我使用了以下代码;

CountdownTimer(
endTime: 1594829147719,
textStyle: TextStyle(
fontFamily: 'Montserrat',
fontSize: 12,
color: Colors.white),
defaultDays: "==",
defaultHours: "--",
defaultMin: "**",
defaultSec: "++",
daysSymbol: "Days ",
hoursSymbol: "Hrs ",
minSymbol: "Mins ",
secSymbol: "Secs",
),

在上面的代码中,如果我将 endTime 1594829147719 更改为其他某个值,则此计时器停止工作,并且不提供任何输出。

可能是什么原因造成的,我该如何解决?

最佳答案

您可以从头开始创建计时器。

int timerSeconds;
DateTime startedAt;


StartTimer(){

_timer= new Timer.periodic(oneSec, (Timer t) => {

setState(() {
startedAt=DateTime.now();
seconds--;
})
});
}
//to format the timer text
String _printDuration(Duration duration) {
String twoDigits(int n) {
if (n >= 10) return "$n";
return "0$n";
}
String twoDigitMinutes = twoDigits(duration.inMinutes.remainder(60));
String twoDigitSeconds = twoDigits(duration.inSeconds.remainder(60));
return "${twoDigits(duration.inHours)}:$twoDigitMinutes:$twoDigitSeconds";
}

String getTimerText(){
int timePassed= DateTime.now().difference(startedAt).inSeconds;
timerTextString=_printDuration(Duration(seconds: timerText-timePassed));
}

然后在处置时停止计时器。
@override
void dispose() {
_timer.cancel();
super.dispose();
}

然后像这样在文本小部件中调用文本字符串
Text(getTimerText());

关于flutter - 无法在CountDownTimer中更改endTime,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62122251/

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