声明后如何更改补间动画的“结束”颜色?

时间:2019-05-16 15:52:23

标签: dart flutter

在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();

0 个答案:

没有答案