如何禁用RecyclerView动画?

时间:2020-09-16 13:14:54

标签: android kotlin android-recyclerview

我正在每秒使用和更新我的RecyclerView。由于数据在变化,因此我得到了这种令人讨厌的Android默认动画。如何禁用默认的更改动画?其余的可以保留。

1 个答案:

答案 0 :(得分:1)

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

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()