gpt4 book ai didi

flutter - 具有动态持续时间的Flutter AnimationController-错误:必须使用常量值初始化Const变量

转载 作者:行者123 更新时间:2023-12-03 02:55:53 25 4
gpt4 key购买 nike

我想从我的小部件参数设置动画持续时间,但是它不起作用,因为持续时间要用一个常量初始化

class CircularTimer extends StatefulWidget {
CircularTimer({@required this.seconds});
_CircularTimer createState() => _CircularTimer();
final seconds;
}

class _CircularTimer extends State<CircularTimer>
with SingleTickerProviderStateMixin {
Animation<double> animation;
AnimationController controller;

@override
void initState() {
super.initState();
controller = AnimationController(
duration: const Duration(/*not working*/seconds: widget.seconds), vsync: this);
animation = Tween<double>(begin: 0, end: 300).animate(controller);
controller.forward();
}

@override
Widget build(BuildContext context) =>
CircularTimerWidget(animation: animation);
}

最佳答案

您不能将这样的数据传递给const,因此解决方案是从const中删除Duration或仅使用一些const值。

解决方案:1

controller = AnimationController(
duration: Duration(seconds: widget.seconds), // remove const
vsync: this,
);

解决方案:2
controller = AnimationController(
duration: const Duration(seconds: 1), // some const value
vsync: this,
);

关于flutter - 具有动态持续时间的Flutter AnimationController-错误:必须使用常量值初始化Const变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59037683/

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