问题标签 [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 - 如何在 Flutter 中更新 AnimatedList 中的数据
如何在 Flutter 的 AnimatedList 中更新数据(添加、删除行)?我可以在 ListView 中通过更新支持数据并调用setState
. 例如,
不过,在 AnimatedList 中似乎更复杂。
dart - 如何在 Flutter 中清除 AnimatedList 中的所有项目
我试图在 AnimatedList 上预先生成所有更新操作,就像我为 Android 中的 RecyclerView 适配器所做的那样。但是当我要清除所有数据时,我不知道该怎么做。
如果我这样做
然后后台数据被清除,但 GlobalKey 的当前状态仍然不知道变化,并且没有任何clear()
方法。
补充代码
flutter - 如何在 Flutter 中使用 AnimatedList Widget
我正在尝试实现一个动画列表,
但我对动画并不熟悉。
我应该插入的内容
位置:animation.drive(),
和
removeItem(_index,(context,animation)=> /// 我应该在这里做什么 ),);
这是代码(只是“启动应用程序”的一些更改)
寻找有关 SliderTransition 的教程我看到了这个:
虽然我有这个:
有人可以帮忙吗?
是只有这个缺失的部分还是我错过了其他东西?
先感谢您
[编辑:AnimatedList 页面 显示消息
此页面已弃用,其内容可能已过时。
事实上似乎根本没有使用这个小部件]
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 树外部更新的方法,我只是不确定如何获得它。也许我的技术不正确。
flutter - 如何在颤动中使用动画列表对最初渲染的项目进行动画处理
我在颤动中使用动画列表来加载列表类,在添加或删除项目时,动画可以工作,但是当列表最初加载时,动画不起作用。有没有办法在最初加载列表时为项目设置动画。
flutter - 更新firestore中的数据时,Itembuilder不会在streambuilder中执行
当我第一次启动应用程序时,它会将所有项目加载到动画列表中。但是,当我将一个项目添加到 Firestore 时,streambuilder 会意识到发生了一些事情。但它不会执行 itembuilder,因此不会出现新项目。但是,如果我重新启动应用程序,将加载新项目。如果我只是更改 firestore 数据库中现有项目的名称,它将毫无问题地重建。
当我更新一个项目时。我必须获取任务地图并将其替换为具有该项目的新副本并将其发布/更新到 Firestore。
我已经尝试了我能想到的一切,不明白为什么会发生这种情况。我已在 itembuilder 中打印,并且可以看到它不会在更新时执行。
flutter - 如何在将项目插入 AnimatedList 期间修复 rangeError(连接到 Firebase 数据库)
我正在将文档插入数据库并更新 AnimatedList 的 GlobalKey 的 currentState,以便让它知道添加的新项目 我遇到 rangeError
但片刻之后,小部件的重建修复了错误屏幕,我的新项目正常添加
我认为问题是当我使用这个时,从数据库中获取数据没有足够的时间来更新原因:
错误没有出现
此外,我正在检查列表中的项目数和快照.data 的文档数,它们在小部件构建期间不相等,这给了我一个错误,但在重建期间它们是相等的,它在错误构建之后开始移除也是一样,但是移除过程中没有错误画面
这是我的代码:
flutter - 如何为 Flutter SliverList 中的元素设置动画?
当用户滚动列表时,我有一个SliverList
与 aSliverAppBar
一起使用的动画应用栏(标准用例的条子真的,没什么特别的)。
现在我想为SliverList
. 例如,添加项目时的水平滑动过渡,或重新排序列表时元素之间的一种垂直“随机播放”。提供了其中AnimatedList
一些功能,但不提供 SliverList。
我对框架的理解是,可以将提供给框架的元素包装SliverList
在一个AnimatedWidget
(或一些类似的小部件)内以动画化更改。但是我对 Flutter 动画的了解还是有点太新鲜了,所以我在寻求帮助。
这是我的代码的一部分。我想为GameScoreWidget
下面的实例制作动画。
我找不到任何与我的问题相关的答案。我发现这个问题与SliverList 中的动画变化有关
但是没有答案...
flutter - 在初始化时为 ListView 中的元素设置动画
我想实现类似下面的东西(动画风格无关紧要,我正在寻找做到这一点的方法)
但是,所有资源和问题仅说明如何创建项目添加或移除动画。
我当前的代码(我使用 BLoC 模式)