flutter - 使用动画在 ListView 中显示/隐藏小部件
问题描述
我有 ListTiles 的 ListView,我只想显示第一个。然后在单击按钮后,我想让其他 ListTiles 也出现在 ListView 中(它们一开始是空容器)。
我尝试在 ListTile 和空容器之间使用 AnimatedCrossFade 和 AnimatedSwitcher。我也尝试了一些软件包,但没有运气。我尝试的所有操作都将 Container 与 ListTile 交换,但没有动画。
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 所需的行为。有没有办法给它添加动画。我不确定为什么上述动画不起作用。PS 持续时间设置为动画可见的足够时间,所以这不是问题。
解决方案
您可以尝试 Visible 小部件,但我不确定动画:
itemBuilder: (context, index2) =>
Visible(
visible : index2 < (!seeAll ? 1 : length)
child : ListTile(
//stuff
)
)
推荐阅读
- reactjs - 使用 react-redux 存储结构
- python-2.7 - 加载共享库时出错:libpython2.7.so.1.0
- c++ - 浮动指针的奇怪行为
- spring - 如何为弹簧数据弹性搜索查询定义查询超时?
- csv - 在 clickhouse 中加载数据时跳过 csv 标头
- python - 如何在我的 views.py 中引用 OneToOne 模型?
- javascript - 在 selected.jquery 完成执行后运行我的脚本
- r - 删除前 10 个和后 10 个值
- typescript - 在 Typescript 中索引其他属性的属性
- c# - 从字符串生成的 guid,它的值是否始终相同?