问题标签 [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 投票
1 回答
11089 浏览

flutter - 如何在 Flutter 中更新 AnimatedList 中的数据

如何在 Flutter 的 AnimatedList 中更新数据(添加、删除行)?我可以在 ListView 中通过更新支持数据并调用setState. 例如,

不过,在 AnimatedList 中似乎更复杂。

0 投票
2 回答
13382 浏览

dart - 如何在 Flutter 中清除 AnimatedList 中的所有项目

我试图在 AnimatedList 上预先生成所有更新操作,就像我为 Android 中的 RecyclerView 适配器所做的那样。但是当我要清除所有数据时,我不知道该怎么做。

如果我这样做

然后后台数据被清除,但 GlobalKey 的当前状态仍然不知道变化,并且没有任何clear()方法。

补充代码

0 投票
1 回答
8534 浏览

flutter - 如何在 Flutter 中使用 AnimatedList Widget

在 youtube 上看到了这个视频

我正在尝试实现一个动画列表,

但我对动画并不熟悉。

我应该插入的内容

位置:animation.drive(),

removeItem(_index,(context,animation)=> /// 我应该在这里做什么 ),);

这是代码(只是“启动应用程序”的一些更改)

寻找有关 SliderTransition 的教程我看到了这个:

虽然我有这个:

有人可以帮忙吗?

是只有这个缺失的部分还是我错过了其他东西?

先感谢您

[编辑:AnimatedList 页面 显示消息

此页面已弃用,其内容可能已过时。

事实上似乎根本没有使用这个小部件]

0 投票
1 回答
2600 浏览

flutter - 如何在不使用 GlobalKey.currentState 的情况下平滑更新 Flutter AnimatedList?

我发现的所有将项目插入 Flutter AnimatedList 的示例都使用 GlobalKey.currentState 来告诉 AnimatedList 小部件已插入项目。与从列表中删除相同。

众所周知,在 Flutter 中 GlobalKey 的 currentState 可能为 null。

就我而言,我正在等待 Firebase 消息通过。当消息被插入到 AnimatedList 的列表数据中时,如果要遵循为 AnimatedList 显示的流行示例,则可以使用分配的 GlobalKey.currentState 来告诉 AnimatedList 新项目插入的位置。

但是,就我而言,当我尝试使用它时, GlobalKey.currentState 为空。

否则我可以使用什么?我知道我可以使用 setState 但这会导致完整的小部件刷新,在这种情况下,它会出现在屏幕上,而不是所需的 AnimatedList 插入,它既漂亮又流畅。

许多人都避免使用 InheritedWidget,但如果这是正确的技术,我无法理解在这种情况下如何实现它。

实际结果是由于 GlobalKey 的 currentState 为空而在运行期间引发空指针错误。

/// 更新:

我尝试了 AnimatedList.of(context) 方法和 Builder 来解决这个问题。我以以下方式尝试过:

使用上述构造时,出现以下错误:

使用不包含 AnimatedList 的上下文调用 AnimatedList.of()。

我确信 Flutter 团队已经提供了一种触发 Widget 树外部更新的方法,我只是不确定如何获得它。也许我的技术不正确。

0 投票
1 回答
9383 浏览

flutter - 如何在颤动中使用动画列表对最初渲染的项目进行动画处理

我在颤动中使用动画列表来加载列表类,在添加或删除项目时,动画可以工作,但是当列表最初加载时,动画不起作用。有没有办法在最初加载列表时为项目设置动画。

0 投票
1 回答
82 浏览

list - Flutter 中的 AnimatedList 显示破碎的元素

我正在尝试显示AnimatedListof ExpansionTiles/ListTilesin Flutter,这就是发生的情况: 在此处输入图像描述

这是我的代码:

我认为也许 Expanded 会导致 AnimatedList 出现填充问题,但我不确定。

你能告诉这里发生了什么吗?

0 投票
1 回答
201 浏览

flutter - 更新firestore中的数据时,Itembuilder不会在streambuilder中执行

当我第一次启动应用程序时,它会将所有项目加载到动画列表中。但是,当我将一个项目添加到 Firestore 时,streambuilder 会意识到发生了一些事情。但它不会执行 itembuilder,因此不会出现新项目。但是,如果我重新启动应用程序,将加载新项目。如果我只是更改 firestore 数据库中现有项目的名称,它将毫无问题地重建。

当我更新一个项目时。我必须获取任务地图并将其替换为具有该项目的新副本并将其发布/更新到 Firestore。

我已经尝试了我能想到的一切,不明白为什么会发生这种情况。我已在 itembuilder 中打印,并且可以看到它不会在更新时执行。

0 投票
1 回答
437 浏览

flutter - 如何在将项目插入 AnimatedList 期间修复 rangeError(连接到 Firebase 数据库)

我正在将文档插入数据库并更新 AnimatedList 的 GlobalKey 的 currentState,以便让它知道添加的新项目 我遇到 rangeError

但片刻之后,小部件的重建修复了错误屏幕,我的新项目正常添加

我认为问题是当我使用这个时,从数据库中获取数据没有足够的时间来更新原因:

错误没有出现

此外,我正在检查列表中的项目数和快照.data 的文档数,它们在小部件构建期间不相等,这给了我一个错误,但在重建期间它们是相等的,它在错误构建之后开始移除也是一样,但是移除过程中没有错误画面

这是我的代码:

0 投票
1 回答
906 浏览

flutter - 如何为 Flutter SliverList 中的元素设置动画?

当用户滚动列表时,我有一个SliverList与 aSliverAppBar一起使用的动画应用栏(标准用例的条子真的,没什么特别的)。

现在我想为SliverList. 例如,添加项目时的水平滑动过渡,或重新排序列表时元素之间的一种垂直“随机播放”。提供了其中AnimatedList一些功能,但不提供 SliverList。

我对框架的理解是,可以将提供给框架的元素包装SliverList在一个AnimatedWidget(或一些类似的小部件)内以动画化更改。但是我对 Flutter 动画的了解还是有点太新鲜了,所以我在寻求帮助。

这是我的代码的一部分。我想为GameScoreWidget下面的实例制作动画。

我找不到任何与我的问题相关的答案。我发现这个问题与SliverList 中的动画变化有关

但是没有答案...

0 投票
2 回答
8720 浏览

flutter - 在初始化时为 ListView 中的元素设置动画

我想实现类似下面的东西(动画风格无关紧要,我正在寻找做到这一点的方法)

例子

但是,所有资源和问题仅说明如何创建项目添加或移除动画。

我当前的代码(我使用 BLoC 模式)