问题标签 [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.
flutter - 扑。如何为重新排序的 ListView 设置动画?
是否可以像 ReorderableListView 一样为 ListView 的顺序更改设置动画,但无需用户交互。
例如,在几秒钟后,ListView 的顺序会发生变化。所以我有两个具有相同项目但顺序不同的列表。ListOne 和 ListTwo。
我已经看过 AnimatedList,但我可以在那里删除或添加动画。我需要像移动动画这样的东西。
不知何故像 ReorderableListView,但没有用户交互。或者是否可以在 ReorderableListView 中以编程方式替换用户交互?
提前致谢
flutter - Flutter 动画列表:动画整个列表
我正在尝试实现 Flutter 的AnimatedList。我想要实现的是已经拥有一个元素列表,然后将它们一一插入到列表中,总持续时间为 1 秒。
例如:我有一个包含 5 个容器的列表(一个红色的、一个蓝色的、一个绿色的、一个粉红色的和一个白色的)。我希望每个容器都在列表视图中滑动。
我现在希望在启动时,此列表显示在以下时间戳中:
0..200ms:红色容器
200..400ms:蓝色容器
400..600ms:绿色容器
600..800ms:粉色容器
800..1000ms:白色容器
这样整个列表需要 1 秒的时间来构建,并且 1 个容器的动画应该花费的时间是1/n
秒,并且列表中索引处的每个容器应该在几秒i
后开始其动画。i*(1/n)
然而,我能找到的所有文档或示例只是显示一个按钮,然后在列表中插入一个新项目,而我希望通过动画显示一个已经创建的列表。
flutter - 动画列表多个小部件使用相同的 GlobalKey
我正在尝试将 GlobalKey 用于 AnimatedList,因此我创建了一个动画。但无论我在哪里声明 Globalkey(在 StatelessWidget 内部、全局、静态类中),我总是会收到重复的 Key 错误。我究竟做错了什么?
flutter - 在使用 Flutter 的 AnimatedList 时是否可以不重用子小部件?
我正在开发一个 Flutter 应用程序,该应用程序具有类似于 whatsapp 的功能,其中可能有一堆本质上是音频播放器的消息。我正在使用AnimatedList
聊天气泡进出动画。
问题是它似乎不AnimatedList
支持keepAlive
,我还没有遇到任何替代方案。我不希望小部件被回收,因为如果正在播放消息并且我将消息滚动进出视图,我希望消息继续播放和动画,现在我在每个孩子中实例化一个音频播放器和动画控制器小部件。如果我在子小部件之外维护所有这些状态(与列表处于同一级别),我可以看到这更加“最佳”,但是此应用程序中每个对话的最大聊天气泡数量约为 50,我们希望快速移动而不是现在是最优的,所以我认为如果我可以让小部件保持活力,这种简化是一个好主意。
我尝试将子小部件包装在 aKeepAlive
中,但没有成功。下面似乎是我的选择:
- 有一些支持的方法可以做到这一点,我不知道
- 有一些替代/ 3rd 方库支持这一点
- 尝试使用非动画列表并探索其他动画方式
- 实现子级之上的状态
我很想知道社区的潜在解决方案。谢谢!
list - Flutter AnimatedList 更新列表长度失败
我正在实现一个 Flutter 应用程序并使用AnimatedList
. 在此列表中查看的数据是从控制器更新的,并且一旦完成任何更新,就会通知该列表。
当从控制器更新项目时,即添加或删除项目时,我调用setState
以更新视图。它被正确调用,构建方法被调用,动画列表读取新的列表长度,但它仍然显示旧的,因此它out of index
在列表末尾显示错误。
这就是我创建的方式AnimatedList
:
在Widget
我调用的控制器的侦听器中:
那有什么问题呢?如何AnimatedList
使用控制器中的新列表更新并反映其新长度?
请注意,当我从使用列表中删除项目时,不会发生此错误Widget
:
flutter - Flutter 从嵌套列表或需要更新的列表对象列表生成的树中添加删除小部件
我有一个对象结构,其中包含相同类型对象的嵌套列表。如下 :
和一个示例数据结构如下:
和 [Custom Widget] 将显示“id”、“data”和使用此结构的 [Custom Widget] 列表。当我尝试添加(将对象添加到子级的父小部件上的按钮)或删除(将自身从父级的子级列表中删除的子级小部件上的按钮)时,我的问题出现了。
NoteModel 的对象实例在按下按钮时发生变化,但是列表树没有刷新。我已经尝试了所有手动方法,并尝试使用 GetX。但是,当从树的深处添加/删除某些小部件时,我找不到会触发使用更新的 NoteModel 实例重建小部件树的解决方案。
但是,在此重建过程中,我只想重建某些部分以避免重建其他部分,例如子 [自定义小部件] 中不会更改的任何按钮。
请帮忙,我是新手,尝试了很多东西,但找不到任何解决方案来添加/删除嵌套子项中的操作。
flutter - Flutter AnimatedList 在删除时显示错误的索引
我正在使用AnimatedList
动画图像,因为它们从列表中添加和删除。
我一直有两个问题,我认为这两个问题是相关的。
- 删除项目后,它会在动画期间呈现下一个索引。例如,它不是显示自己,索引 0,而是在动画出来时呈现索引 1。
- 删除列表中的最后一个索引,导致
RangeError (index): Invalid value: Only valid value is ...
.
这会让我相信我只是在操作一个不同步的索引,但是重新创建一个非常简单的代码示例,仍然会产生同样的问题。如下图所示:
flutter - AnimatedList 中的滑块值错误
我有一个聊天气泡小部件,它具有带有小部件的音频播放器支持Slider
。
滑块的值会根据 AudioPlayer 的进度进行更改,这似乎工作正常。
当第一个音频完全播放时(意味着滑块的值现在是 100%),并且现在第二个聊天气泡被添加到AnimatedList
然后最新的滑块的值为 100 而前一个的值为 0。
这是一个更好理解的示例:
消息 1 添加到列表:音频播放完成 => 滑块值为 100。
消息 2 添加到列表:滑块值为 100(应为 0),消息 1 中的滑块值为 0。
这是小部件:
该小部件又用于另一个处理消息类型并显示适当用户界面的小部件。
这里是:
这是AnimatedList
:
我也尝试过使用AutomaticKeepAliveClientMixin
但仍然没有用。
对此的任何想法将不胜感激。
flutter - 在 StreamBuilder 中使用 AnimatedList
我正在使用 firebase 构建一个聊天应用程序,我目前将每条消息作为文档存储在 firebase 的集合中。我使用 StreamBuilder 获取最新消息并显示它们。我想在收到和发送新消息时添加动画。我尝试过使用 Animatedlist,但是,我不知道如何使它与 StreamBuilder 一起使用。据我了解,每次添加新消息时,我都必须调用insertItem函数。有更聪明的方法吗?或者这将如何实施?
这是我到目前为止所拥有的: