我有一个带有子动画切换器的父级消费者,我期望当提供者的值发生变化时会有一些交叉淡入淡出的动画效果,但是没有任何动画效果发生!这里出了什么问题?以下是我的代码:
@override
Widget build(BuildContext context) {
return Scaffold(
backgroundColor: Colors.white,
body: _buildContent(context),
);
}
Widget _buildContent(BuildContext context) {
return Consumer<HomeProvider>(
builder: (context, homeProvider, child) {
return AnimatedSwitcher(duration: Duration(milliseconds: 300),
child: _getAnimatedWidget(homeProvider, context),
);
},
);
}
这是_getAnimatedWidget方法:
Widget _getAnimatedWidget(HomeProvider homeProvider, BuildContext context){
switch (homeProvider.homeResponse.status) {
case Status.COMPLETED:
return _buildHomeScreen(context, homeProvider);
case Status.ERROR:
return _parseError(context, homeProvider);
case Status.LOADING:
return _parseLoading(context);
default:
return Container();
}
}
请帮助我!我仍然不知道如何正确地使用动画更新我的UI界面。如果需要,我可以提供额外的代码。
_buildContent
方法? - zpouipAnimatedSwitcher
的潜在子元素提供键。请分享_buildHomeScreen
、_parseError
和_parseLoading
方法以获得更具体的解决方案。 - Christopher Moore