任何想法都为何在如下所示的方法中完成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通常可以正常工作...
答案 0 :(得分:1)
当状态更改并且如果您的widget1和widget2是相同类型时,请尝试调用SetState,然后为它们提供一个密钥,以便Flutter可以分别识别它们。
您可以关注this video以获得更多信息。