带有小部件列表的 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&lt;Widget。有什么解决方法吗?

希望我的问题很清楚,如果您需要更多信息,请告诉我!

【问题讨论】:

【参考方案1】:

尝试使用Column 作为AnimatedSwitcher 的子代,然后将List&lt;Widget&gt; 作为Column 的子代传递。

【讨论】:

A RenderViewport expected a child of type RenderSliver but received a child of type RenderFlex 。我正在使用Slivers,这使它变得更加困难.. 哦,好吧,然后尝试使用 SliverList 或通过将列放入 SliverToBoxAdapter 来将列转换为 sliver。

以上是关于带有小部件列表的 Flutter 动画切换器的主要内容,如果未能解决你的问题,请参考以下文章