AnimatedSwitcher不是从方法动画吗?

时间:2020-08-22 15:10:00

标签: flutter animation

任何想法都为何在如下所示的方法中完成AnimatedSwitcher时不进行动画处理?

我的意思是,切换发生了,它没有通过动画过渡。

Widget _buildSwitchableWidget({
    @required bool state,
    @required Widget widget1,
    @required Widget widget2,
  }) {
    final widget = !state ? widget1 : widget2;
    return AnimatedSwitcher(
      duration: const Duration(milliseconds: 350),
      transitionBuilder: (Widget child, Animation<double> animation) {
        return FadeTransition(
          child: child,
          opacity: animation,
        );
      },
      child: widget,
    );
  }

我很难理解他为什么会这样,因为调用AnimatedSwitcher通常可以正常工作...

1 个答案:

答案 0 :(得分:1)

当状态更改并且如果您的widget1和widget2是相同类型时,请尝试调用SetState,然后为它们提供一个密钥,以便Flutter可以分别识别它们。

您可以关注this video以获得更多信息。