Автоматическая анимация изменений макета

В Android есть встроенная анимация, которая воспроизводится при изменении макета. Задайте атрибут в макете, чтобы сообщить системе Android о необходимости анимировать эти изменения макета, и она выполнит для вас анимацию по умолчанию.

Вот как выглядит анимация макета по умолчанию при добавлении элементов в список:

Рисунок 1. Анимация макета.
 

Создайте макет

В XML-файле макета для объекта activity задайте для атрибута android:animateLayoutChanges значение true в макете, для которого нужно включить анимацию:

<LinearLayout android:id="@+id/container"
    android:animateLayoutChanges="true"
    ...
/>

Добавление, обновление и удаление элементов макета

Добавляйте, удаляйте или обновляйте элементы в макете, и они будут анимироваться автоматически.

Kotlin

lateinit var containerView: ViewGroup
...
private fun addItem() {
    val newView: View = ...

    containerView.addView(newView, 0)
}

Java

private ViewGroup containerView;
...
private void addItem() {
    View newView;
    ...
    containerView.addView(newView, 0);
}