在initState上创建_colorTween之后,我需要更改Tween动画的结束颜色值。
我尝试过:
更改可变颜色。
再次通过我想要的颜色实例化_colorTween。
两者都不起作用。
endColor始终为:Colors.purpleAccent。
有人对此有解决方案吗?
AnimationController _animationController
Animation _colorTween
int value = 1;
MaterialAccentColor beginButtonColor = Colors.purpleAccent;
MaterialAccentColor endButtonColor = Colors.redAccent;
MaterialAccentColor correctButtonColor = Colors.greenAccent;
@override
void initState() {
_animationController = AnimationController(vsync: this, duration: Duration(milliseconds: 300));
_colorTween = ColorTween(begin: beginButtonColor, end: endButtonColor, )
.animate(_animationController);
super.initState();
}
if(value == 1){
// First try
endButtonColor = Colors.greenAccent;
// Second try:
_animationController = AnimationController(vsync: this, duration:
Duration(milliseconds: 300));
_colorTween = ColorTween(begin: beginButtonColor, end: endButtonColor, )
.animate(_animationController);
}
controller.forward();