将“ from”参数传递给动画控制器时闪烁动画?

时间:2018-08-19 09:16:50

标签: flutter flutter-animation

因为我想多次重用动画控制器,所以我将from:0.0参数传递给控制器​​的构造函数,就像您在代码中看到的一样,但是当我想重用同一控制器时,在第一个或第二个两毫秒的控制器值将存储在旧的控制器上,我看到动画的end语句闪烁了一下,然后开始按应有的方式工作。 我不知道为什么我会得到眨眼效果。

class AnimatedTile extends StatelessWidget {
  final int value;
  final AnimationController controller;
  final Animation<Alignment> alignAnimation;

  AnimatedTile(this.value, {this.controller, this.alignAnimation});

  @override
  Widget build(BuildContext context) {
    _playAnimation();
    return AnimatedBuilder(
      animation: controller.view,
      child: Tile(value),
      builder: (context, child) {
        return Align(
          child: FractionallySizedBox(
              widthFactor: 0.25, heightFactor: 0.25, child: child),
          alignment: alignAnimation.value,
        );
      },
    );
  }

  Future<Null> _playAnimation() async {
    try {
      await controller.forward(from: 0.0).orCancel;
    } on TickerCanceled {
    }
  }
}

编辑:

只有当我以异步方式调用_playAnimation方法时,这种情况才会发生,否则闪烁效果就消失了。

0 个答案:

没有答案