尝试构建一个考试应用程序,每次从 API 命中时我一次只能得到一个问题。我想做的是构建问题并在显示问题时启动计时器(90-0)。计时器为 0 或按下提交按钮后,将构建新问题(从 API 获取数据后),计时器从 90 秒重新开始。此时,计时器从 90 变为 0,并停止,之后不再启动setState
我已经看到并尝试了其他解决方案,例如创建startTimer()函数,但TweenAnimationBuilder似乎适合该任务。但是,无法弄清楚使用 再次启动它onEnd。
这是我的 TweenAnimationBuilder:
TweenAnimationBuilder(
tween: Tween(begin: 90.0, end: 0.0),
duration: Duration(seconds: 90),
builder: (context, value, child) {
num val = value;
num time = val.toInt();
return Stack(
alignment: Alignment.center,
children: [
normalText(
text: "$time",
size: 25,
color: color__orange),
SizedBox(
width: 60,
height: 60,
child: CircularProgressIndicator(
value: time /
90,
valueColor: const AlwaysStoppedAnimation(
color__orange),
),
),
]
);
},
onEnd: (){ …Run Code Online (Sandbox Code Playgroud)