我正在使用RecyclerView来显示从网站进行轮询的数据(=>立即完全更改)。 我已经创建了一个具有我想要的动画的ItemAnimator类,但我需要知道动画的最佳时间是什么,等待前一个动画完成。
答案 0 :(得分:2)
我们使用setStartDelay(或setStartOffset,取决于您使用的动画师)取得了很大的成功。有一个从0开始的延迟变量,当你通过你的孩子创建他们的动画时,将开始延迟设置为当前值并添加一些增量,例如100毫秒。
答案 1 :(得分:0)
我一直在研究完全相同的动画。我暂时将它放在一边,但在正常速度下取得了相当不错的效果。当我放慢速度进行调试时,我发现了一个奇怪的错误,导致某些项目被动画多次。此外,如果动画尚未完成,向上滚动也不会起作用,但这不是一个可能以正常速度运行的错误。
这是我的代码:https://github.com/halfjew22/AnimateRecyclerGrid
基本上,我做的是看了材质动画中的模式。基于该模式,我将一个for循环产生一个for循环,该循环产生一个给定坐标的runnable(基于for循环中的值)并告诉使用这些坐标为视图设置动画。
就像我说的那样,我并没有完成这个项目,但它作为一个alpha或概念证明工作得相当好。我知道自从你提出这个问题以来已经有一段时间了,但是如果你想在一起完成这个问题,请告诉我。
如果这有助于你,请告诉我。
答案 2 :(得分:0)
我已经创建了一个自定义的RecyclerView适配器类,它或多或少地实现了OP想要实现的功能,即按顺序动画制作RecyclerView的项目(按顺序,一个接一个)。
适配器类在github上作为gist here公开共享。
从描述中: "此适配器旨在创建一个连续的RecyclerView项目'动画。 它们按顺序从上到下出现。动画在首次创建RecyclerView时起作用,在项目向下滚动时不起作用。"