2016-03-20 60 views
4

我已经实施了一个RecyclerView我可以添加和删除项目。我想添加的项目被添加到倒数第二个位置,并且每当我添加一个新项目时,动画运行良好。也就是说,最后一个项目向下移动,为新项目腾出空间。RecyclerView删除动画错误

当我删除项目时,存在一个问题,我不知道如何解决。我多么希望它表现为:

  1. 淡出删除的元素,
  2. 向上移动下面的所有项目。

实际情况是,第一件事,最后一项消失,然后动画的其余部分发生。当被删除的元素下面的项目向上移动时,最后一个项目会重新出现在墙壁后面。

对我来说,好像RecyclerView收缩到“动画后”高度,然后执行动画。

我还没有定义ItemAnimator,所以DefaultItemAnimator必须是使用的那个。我观看了this video,并在LinearLayoutManager的自定义实现中覆盖了supportsPredictiveItemAnimations方法,但它没有修复它。

回答

2

我已经报道过谷歌事件跟踪here

我希望我们能很快得到解决这个问题!就像你说的那样它似乎与回收站视图的度量更新和动画回收站视图封装其内容以计算其高度时可能出现的竞争条件非常相关。

This article也以非常详细的方式解释了问题。