AnimatedContainer onTap 动画一次向前和向后

AnimatedContainer onTap animate once forward and back

https://api.flutter.dev/flutter/widgets/AnimatedContainer-class.html

示例 flutter.dev 只需轻按一下即可设置为不同的外观,轻按一下即可恢复为原始外观。 我想知道,如果我想让它向前移动一次,保持一秒钟,然后一次向后移动,该怎么办。我可以使用 Timer 来实现这个还是应该使用 AnimationController 来代替?

最好的选择是使用 AnimationController,因为它可以让您更好地控制对象。使用 AnimationController 而不是 Timer 的另一重要事项是控制器使用 TickerProvider class 以获得更流畅的开始和结束动画。

AnimatedContainer提供onEnd,可以从中反转动画

child: AnimatedContainer(
  onEnd: () async {
    await Future.delayed(Duration(seconds: 1));
    setState(() {
      selected = false;
    });
  },

此外,您可以将 AnimationController 与侦听器一起使用。