带有小部件列表的 Flutter 动画切换器
Posted
技术标签:
【中文标题】带有小部件列表的 Flutter 动画切换器【英文标题】:Flutter Animated Switcher with List of Widgets 【发布时间】:2021-10-07 22:41:57 【问题描述】:我有一个CustomScrollView
和几个孩子。应始终显示一个孩子,但应根据条件显示其他孩子:
CustomScrollView(
controller: articleState.scrollController,
slivers: [
ArticleDetailPageHeader(widget.articleShort), // <- should always be displayed
...condition
? _buildShimmerWidgets() // returns List<Widget>
: _buildArticleWidgets(context, articleState), // ´´
],
)
这是有效的。但我想使用AnimatedSwitcher
,这样 UI 看起来会更流畅一些。
我查看了AnimatedSwitcher
,它采用Widget
类型的child
。现在这就是问题所在!我有一个List<Widget
。有什么解决方法吗?
希望我的问题很清楚,如果您需要更多信息,请告诉我!
【问题讨论】:
【参考方案1】:尝试使用Column
作为AnimatedSwitcher
的子代,然后将List<Widget>
作为Column
的子代传递。
【讨论】:
A RenderViewport expected a child of type RenderSliver but received a child of type RenderFlex
。我正在使用Slivers
,这使它变得更加困难..
哦,好吧,然后尝试使用 SliverList 或通过将列放入 SliverToBoxAdapter 来将列转换为 sliver。以上是关于带有小部件列表的 Flutter 动画切换器的主要内容,如果未能解决你的问题,请参考以下文章
如果添加到动画列表,Flutter 查找已停用小部件的祖先是不安全的