如何禁用RecyclerView的动画效果?

5

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

1个回答

10
你可以通过在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()

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接