首页 > 解决方案 > 如何禁用 RecyclerView 动画?

问题描述

我每秒都在使用和更新我的 RecyclerView。由于数据在变化,我得到了这个烦人的 Android 默认动画。如何禁用默认更改动画?其余的删除可以保留。

标签: androidkotlinandroid-recyclerview

解决方案


您可以通过在回收站视图中添加以下行来禁用动画

recyclerView.itemAnimator = null

这将禁用所有默认动画

对于java

recyclerView.setItemAnimator(null);

在内部这是setItemAnimator方法

ItemAnimator mItemAnimator = new DefaultItemAnimator();

public void setItemAnimator(@Nullable ItemAnimator animator) {
        if (mItemAnimator != null) {
            mItemAnimator.endAnimations();
            mItemAnimator.setListener(null);
        }
        mItemAnimator = animator;
        if (mItemAnimator != null) {
            mItemAnimator.setListener(mItemAnimatorListener);
        }
    }

所以我们将mItemAnimator其设为 null ,默认设置为DefaultItemAnimator()


推荐阅读