【发布时间】:2019-11-29 20:55:51
【问题描述】:
我正在尝试在无状态小部件内的 StreamBuilder 内制作颜色过渡动画。我不知道如何执行此操作,因为有关此主题的所有示例和教程都使用 Stateful Widget。
我考虑过使用 FadeTransition Widget,但可能会将状态存储在控制该视图的 Bloc 中。
如果你有任何建议,请给我,谢谢。
【问题讨论】:
我正在尝试在无状态小部件内的 StreamBuilder 内制作颜色过渡动画。我不知道如何执行此操作,因为有关此主题的所有示例和教程都使用 Stateful Widget。
我考虑过使用 FadeTransition Widget,但可能会将状态存储在控制该视图的 Bloc 中。
如果你有任何建议,请给我,谢谢。
【问题讨论】:
要在流构建器中执行淡入转换,很简单,只需使用一个名为 AnimatedSwitcher 的小部件:
@override
Widget build(BuildContext context) {
return StreamBuilder(
stream: FirebaseAuth.instance.onAuthStateChanged,
builder: (BuildContext context, snapshot) {
return AnimatedSwitcher(
duration: Duration(seconds: 1),
child: _getMainWidget(snapshot, context),
);
},
);
}
这里我们使用AnimatedSwitcher 来为 AnimatedSwitcher 的子项更改时的过渡设置动画,默认动画是淡入淡出动画,但您可以通过向小部件传递 TransitionBuilder 作为参数来添加自定义动画
【讨论】: