具有LinearLayoutManager和预测动画的RecyclerView

Del*_*iom 5 animation android android-recyclerview linearlayoutmanager

我正在使用垂直的LinearLayout Manager和DefaultItemAnimator构建相对简单的RecyclerView。它只会处理添加和删除项目(无动画更改,交换,移动等)

我的项目将被添加到列表中的特定位置,因为它以特定顺序排序,因此列表必须滚动到添加项目的位置才能向用户显示。

还有一个棘手的部分-LinearLayoutManager和DefaultItemAnimator似乎并未构建为支持预测动画。当前,由于滚动,所有出现的项目都被动画化,而不仅仅是新添加的项目,并且我只想在新项目上运行特定的动画。

首先,我在这里阅读了文档,其中说:

想要获得更好的项目动画体验的LayoutManager,可以根据项目不在屏幕上时存在的位置对项目进行动画显示,然后在LayoutManager上从supportsPredictiveItemAnimations()返回true,并向onLayoutChildren(州回收商)

这是的文档RecyclerView.LayoutManager,因此LinearLayoutManager孩子应该已经具有该附加逻辑(或没有?)

问题在于它的onLayoutChildren方法太复杂了,我不确定为了将“出现在屏幕上”和“全新”视图区分开来,应该准确修改哪个部分。

我还阅读了本教程该教程可以解决我的确切问题,但是该示例使用了FixedGridLayoutManager,但再次发现,它太复杂了,无法理解和调整整个布局逻辑。

我不是在寻找现成的复制粘贴解决方案,但是我需要一些有关了解布局功能的线索。恐怕编写自己的代码,除了乏味之外,还必然会产生更糟糕的结果,因为其中已经有200行代码是由比我聪明的人编写的^^

理想情况下,我想在其中添加一些内容或进行一些小的更改,以免破坏整体的度量,报废,回收利用以及其中发生的任何其他复杂内容。

在此先感谢,欢迎您的帮助