使用动画在ListView中显示/隐藏小部件



我有ListTiles的ListView,我只想显示第一个。然后点击按钮后,我想动画其他ListTiles也出现在ListView中(它们一开始是空的Containers(。

我尝试在ListTile和空Container之间使用AnimatedCrossFade和AnimatedSwitcher。我也试过一些套餐,但没有成功。我尝试的所有东西都用ListTile交换Container,但没有动画。

ListView.separated(
physics: ClampingScrollPhysics(),
shrinkWrap: true,
itemBuilder: (context, index2) => index2 < (!seeAll ? 1 : length)
? ListTile(
//stuff
)
: Container(),
separatorBuilder: (context, index) =>
seeAll ? Divider() : Container(),
itemCount: length,
)

这将根据seeAll的值在ListTile和Container之间正确切换,该值在按下按钮时发生变化,并且第一个ListTile将始终显示为所需的行为。有没有办法添加动画。我不知道为什么上面提到的动画不起作用。P.S。"持续时间"设置为足够的时间,以便动画可见,所以这不是问题所在。

您可以尝试Visible小部件,但我不确定动画:

itemBuilder: (context, index2) => 
Visible(
visible : index2 < (!seeAll ? 1 : length)
child : ListTile(
//stuff
)
)

最新更新