Как отключить анимацию RecyclerView?

#android #kotlin #android-recyclerview

#Android #kotlin #android-recyclerview

Вопрос:

Я использую и обновляю свой RecyclerView каждую секунду. Поскольку данные меняются, я получаю эту раздражающую анимацию по умолчанию для Android. Как я могу отключить анимацию изменения по умолчанию? Остальное для удаления может остаться.

Ответ №1:

Вы можете отключить анимацию, добавив следующую строку в представление recycler

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