android - RecyclerView 移除动画错误

标签 android android-recyclerview animator

我已经实现了一个 RecyclerView,我可以在其中添加和删除项目。我希望将添加的项目添加到倒数第二个位置,并且每当我添加新项目时,动画运行良好。也就是说,最后一个项目向下移动,为新项目淡入留出空间。

当我删除一个项目时,出现了一个我不知道如何解决的问题。我希望它的行为方式是:

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

实际发生的是,首先,最后一个项目消失,然后动画的其余部分开始。当已删除元素下方的项目向上移动时,最后一个项目重新出现为来自墙后。

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

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

最佳答案

我已经通过 Google Issue Tracker 报告了这个问题 here

希望我们能尽快修复!正如你所说,当你的 recyclerview 包装它的内容以计算它的高度时,它似乎与 recyclerview 的测量更新和动画之间可能的竞争条件非常相关。

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

关于android - RecyclerView 移除动画错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36117070/

相关文章:

android - 在设备上禁用动画会使应用程序崩溃

android - 使用 com.nineoldandroids 库的替代方法是什么

android - 有没有办法在通话终止时收到通知

java - 我做错了什么,如何添加插页式广告

android - 处理项目长按回收站 View

android - AdMob 广告未在回收者 View 中正常显示

android - 在可绘制选择器中更改实体的颜色

android - 单击硬件设置按钮时应用程序崩溃

java - 如何在 ExoPlayer 的 recyclerview 中自动播放第一个视频

android - 如何更改 createCircularReveal() 颜色?