Flutter:可重新排序和动画 ListView - 知道吗?

Flutter: Reorderable AND Animated ListView - any idea?

我知道 Flutter 对 ListViews 有不同的方法:

但是否也有可能将所有不同的功能结合起来?

我需要一个 ReorderableListView 来通过拖放重新排序项目,同时能够使用动画添加和删除项目。

我是漏掉了什么还是根本就没有这样的东西?已经尝试了几个小时..

也欢迎任何解决方法。

我还需要一个可以结合所有这些功能的 ListView,因为我找不到,所以我决定自己创建一个,叫做 implicitly_animated_reorderable_list,可以在这里找到:

https://pub.dev/packages/implicitly_animated_reorderable_list

包中包含两个ListViewsImplicitlyAnimatedList基于AnimatedList,使用diff算法(MyersDiff)计算两个列表之间的变化并自动(或 "implicitly")在它们之间进行动画处理。因此,您不再需要在 AnimatedListState 上手动调用 insertItemremoveItem。然后 ImplicitlyAnimatedReorderableList 扩展了此功能并添加了对其项目重新排序的支持。

有关如何使用它们的示例,请参阅存储库中的 readme and the example application,因为这将需要一个单一的答案。

这是一个示例(我不得不将其压缩一点,因为最大文件大小为 2mb):

请注意,这个包还很年轻,我是在业余时间开发的,也就是说它不应该被认为是生产就绪的(还)。

对于那些仍在寻找结合了可重新排序和动画 ListView 的插件的用户。

试试看 great_list_view。它易于使用并且在我的应用程序中运行良好,我还检查了代码库,我认为它看起来非常好。

我尝试了implicitly_animated_reorderable_list 上面@bnxm 提到的插件,但是当拖动项目的高度不受约束时它有问题。

试试新的 great_list_view 库。它仍然是一个 alpha 版本,但它工作得很好并且在数据更改时提供自动动画,在动画时重新排序,项目计算的索引和偏移量等等。试一试!

implicitly_animated_reorderable 写得不好,有漏洞,使用了后台小部件和其他技巧,great_list_view 没有使用任何技巧,很有魅力!