Flutter-如何在StreamBuilder中使用FadeTransition?

时间:2019-07-21 20:04:27

标签: animation flutter dart

我正在尝试在无状态小部件内的StreamBuilder中制作颜色过渡动画。我不知道如何执行此操作,因为有关该主题的所有示例和教程都使用有状态的小工具。

我考虑过使用FadeTransition Widget,但也许将状态存储在控制该视图的Bloc中。

请给我任何建议,谢谢。

1 个答案:

答案 0 :(得分:2)

要在streambuilder中执行渐变过渡,很简单,只需使用名为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作为争论