小编Tah*_*hir的帖子

TweenAnimationBuilder 将动画重置到起点 onEnd 并在事件触发时重新开始

尝试构建一个考试应用程序,每次从 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)

dart flutter flutter-animation

1
推荐指数
1
解决办法
750
查看次数

标签 统计

dart ×1

flutter ×1

flutter-animation ×1