1. ホーム
  2. アンドロイド

[解決済み】RecyclerViewのアイテムが表示されたときにアニメートさせる方法

2022-03-30 19:49:15

質問

RecyclerViewのアイテムが表示されたときにアニメーションさせるにはどうしたらいいですか?

デフォルトのアイテムアニメーターは、リサイクルデータ設定後のデータ追加・削除時にのみアニメーションを行います。アプリケーションを開発するのが初めてで、何から手をつけていいかわかりません。

これを実現するためのアイデアはありますか?

どのように解決するのですか?

XMLだけで簡単に作成

Gistリンクへ

res/anim/layout_animation.xml

<?xml version="1.0" encoding="utf-8"?>
    <layoutAnimation xmlns:android="http://schemas.android.com/apk/res/android"
        android:animation="@anim/item_animation_fall_down"
        android:animationOrder="normal"
        android:delay="15%" />

res/anim/item_animation_fall_down.xml

<set xmlns:android="http://schemas.android.com/apk/res/android"
    android:duration="500">

    <translate
        android:fromYDelta="-20%"
        android:toYDelta="0"
        android:interpolator="@android:anim/decelerate_interpolator"
        />

    <alpha
        android:fromAlpha="0"
        android:toAlpha="1"
        android:interpolator="@android:anim/decelerate_interpolator"
        />

    <scale
        android:fromXScale="105%"
        android:fromYScale="105%"
        android:toXScale="100%"
        android:toYScale="100%"
        android:pivotX="50%"
        android:pivotY="50%"
        android:interpolator="@android:anim/decelerate_interpolator"
        />

</set>

レイアウトやリサイタルなどで使用します。

<androidx.recyclerview.widget.RecyclerView
    android:id="@+id/recycler_view"
    android:layout_width="match_parent"
    android:layout_height="wrap_content"
    android:layoutAnimation="@anim/layout_animation"
    app:layout_behavior="@string/appbar_scrolling_view_behavior" />