问题标签 [flutter-animatedlist]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
234 浏览

flutter - 扑。如何为重新排序的 ListView 设置动画?

是否可以像 ReorderableListView 一样为 ListView 的顺序更改设置动画,但无需用户交互。

例如,在几秒钟后,ListView 的顺序会发生变化。所以我有两个具有相同项目但顺序不同的列表。ListOne 和 ListTwo。

我已经看过 AnimatedList,但我可以在那里删除或添加动画。我需要像移动动画这样的东西。

不知何故像 ReorderableListView,但没有用户交互。或者是否可以在 ReorderableListView 中以编程方式替换用户交互?

提前致谢

0 投票
1 回答
273 浏览

flutter - Flutter 动画列表:动画整个列表

我正在尝试实现 Flutter 的AnimatedList。我想要实现的是已经拥有一个元素列表,然后将它们一一插入到列表中,总持续时间为 1 秒。

例如:我有一个包含 5 个容器的列表(一个红色的、一个蓝色的、一个绿色的、一个粉红色的和一个白色的)。我希望每个容器都在列表视图中滑动。

我现在希望在启动时,此列表显示在以下时间戳中:

0..200ms:红色容器

200..400ms:蓝色容器

400..600ms:绿色容器

600..800ms:粉色容器

800..1000ms:白色容器

这样整个列表需要 1 秒的时间来构建,并且 1 个容器的动画应该花费的时间是1/n秒,并且列表中索引处的每个容器应该在几秒i后开始其动画。i*(1/n)然而,我能找到的所有文档或示例只是显示一个按钮,然后在列表中插入一个新项目,而我希望通过动画显示一个已经创建的列表。

0 投票
1 回答
110 浏览

flutter - 动画列表多个小部件使用相同的 GlobalKey

我正在尝试将 GlobalKey 用于 AnimatedList,因此我创建了一个动画。但无论我在哪里声明 Globalkey(在 StatelessWidget 内部、全局、静态类中),我总是会收到重复的 Key 错误。我究竟做错了什么?

0 投票
1 回答
102 浏览

flutter - 在使用 Flutter 的 AnimatedList 时是否可以不重用子小部件?

我正在开发一个 Flutter 应用程序,该应用程序具有类似于 whatsapp 的功能,其中可能有一堆本质上是音频播放器的消息。我正在使用AnimatedList聊天气泡进出动画。

问题是它似乎不AnimatedList支持keepAlive,我还没有遇到任何替代方案。我不希望小部件被回收,因为如果正在播放消息并且我将消息滚动进出视图,我希望消息继续播放和动画,现在我在每个孩子中实例化一个音频播放器和动画控制器小部件。如果我在子小部件之外维护所有这些状态(与列表处于同一级别),我可以看到这更加“最佳”,但是此应用程序中每个对话的最大聊天气泡数量约为 50,我们希望快速移动而不是现在是最优的,所以我认为如果我可以让小部件保持活力,这种简化是一个好主意。

我尝试将子小部件包装在 aKeepAlive中,但没有成功。下面似乎是我的选择:

  1. 有一些支持的方法可以做到这一点,我不知道
  2. 有一些替代/ 3rd 方库支持这一点
  3. 尝试使用非动画列表并探索其他动画方式
  4. 实现子级之上的状态

我很想知道社区的潜在解决方案。谢谢!

0 投票
0 回答
57 浏览

list - Flutter AnimatedList 更新列表长度失败

我正在实现一个 Flutter 应用程序并使用AnimatedList. 在此列表中查看的数据是从控制器更新的,并且一旦完成任何更新,就会通知该列表。

当从控制器更新项目时,即添加或删除项目时,我调用setState以更新视图。它被正确调用,构建方法被调用,动画列表读取新的列表长度,但它仍然显示旧的,因此它out of index在列表末尾显示错误。

这就是我创建的方式AnimatedList

Widget我调用的控制器的侦听器中:

那有什么问题呢?如何AnimatedList使用控制器中的新列表更新并反映其新长度?

请注意,当我从使用列表中删除项目时,不会发生此错误Widget

0 投票
1 回答
322 浏览

flutter - Flutter 从嵌套列表或需要更新的列表对象列表生成的树中添加删除小部件

我有一个对象结构,其中包含相同类型对象的嵌套列表。如下 :

和一个示例数据结构如下:

和 [Custom Widget] 将显示“id”、“data”和使用此结构的 [Custom Widget] 列表。当我尝试添加(将对象添加到子级的父小部件上的按钮)或删除(将自身从父级的子级列表中删除的子级小部件上的按钮)时,我的问题出现了。

NoteModel 的对象实例在按下按钮时发生变化,但是列表树没有刷新。我已经尝试了所有手动方法,并尝试使用 GetX。但是,当从树的深处添加/删除某些小部件时,我找不到会触发使用更新的 NoteModel 实例重建小部件树的解决方案。

但是,在此重建过程中,我只想重建某些部分以避免重建其他部分,例如子 [自定义小部件] 中不会更改的任何按钮。

请帮忙,我是新手,尝试了很多东西,但找不到任何解决方案来添加/删除嵌套子项中的操作。

0 投票
0 回答
79 浏览

flutter - Flutter AnimatedList 在删除时显示错误的索引

我正在使用AnimatedList动画图像,因为它们从列表中添加和删除。

我一直有两个问题,我认为这两个问题是相关的。

  1. 删除项目后,它会在动画期间呈现下一个索引。例如,它不是显示自己,索引 0,而是在动画出来时呈现索引 1。
  2. 删除列表中的最后一个索引,导致RangeError (index): Invalid value: Only valid value is ....

这会让我相信我只是在操作一个不同步的索引,但是重新创建一个非常简单的代码示例,仍然会产生同样的问题。如下图所示:

0 投票
2 回答
68 浏览

flutter - AnimatedList 中的滑块值错误

我有一个聊天气泡小部件,它具有带有小部件的音频播放器支持Slider
滑块的值会根据 AudioPlayer 的进度进行更改,这似乎工作正常。

当第一个音频完全播放时(意味着滑块的值现在是 100%),并且现在第二个聊天气泡被添加到AnimatedList然后最新的滑块的值为 100 而前一个的值为 0。

这是一个更好理解的示例:
消息 1 添加到列表:音频播放完成 => 滑块值为 100。
消息 2 添加到列表:滑块值为 100(应为 0),消息 1 中的滑块值为 0。

这是小部件:

该小部件又用于另一个处理消息类型并显示适当用户界面的小部件。
这里是:

这是AnimatedList

我也尝试过使用AutomaticKeepAliveClientMixin但仍然没有用。
对此的任何想法将不胜感激。

0 投票
1 回答
146 浏览

flutter - 我想在 Flutter 中更新 AnimatedList 中的项目数

在此处输入图像描述

在上图中,我有一个水平列表视图。通过从列表视图中选择任何一个数字,我想根据从水平列表视图中选择的数字更新 AnimatedList 视图的项目。

当我录制任何一个号码时

我的 AnimatedList 的代码

在我的练习项小部件中

0 投票
1 回答
279 浏览

flutter - 在 StreamBuilder 中使用 AnimatedList

我正在使用 firebase 构建一个聊天应用程序,我目前将每条消息作为文档存储在 firebase 的集合中。我使用 StreamBuilder 获取最新消息并显示它们。我想在收到和发送新消息时添加动画。我尝试过使用 Animatedlist,但是,我不知道如何使它与 StreamBuilder 一起使用。据我了解,每次添加新消息时,我都必须调用insertItem函数。有更聪明的方法吗?或者这将如何实施?

这是我到目前为止所拥有的: