レイアウトの更新を自動でアニメーションにする

Android には、レイアウトの変更時に実行されるプリロードされたアニメーションが用意されています。レイアウト内に属性を設定して、こうしたレイアウトの変化をアニメーション化するよう Android システムに指示すると、システムのデフォルト アニメーションが実行されます。

リストにアイテムを追加すると、デフォルトのレイアウト アニメーションは次のようになります。

図 1. レイアウト アニメーション。
 

レイアウトを作成する

アクティビティのレイアウト XML ファイルで、アニメーションを有効にするレイアウトの 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);
}