Skip to content

kaleidot725-android/item_animator

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

2020/09/05 [Android]RecyclerView のアニメーションの時間を調整する

はじめに

RecyclerView では ItemAnimator をセットすることでアニメーションを表示できるようになります。ItemAnimator は次のようなライブラリがあって好みのアニメーションに簡単に切り替えられるようになってます。

例えば ItemAnimators の ScaleUpAnimator を使ってアニメーションを実装すると次のような感じで表示されます。

    val scaleUpAnimator = ScaleUpAnimator()
    recycler_view.also { view ->
        // 省略 : Adapter や LayoutManager をセットアップする
        view.itemAnimator = scaleUpAnimator
    }

調整方法

こういったアニメーションをもう少し早くまたは遅くしたいときがあると思います。そういったときは setAddDuration、setChangeDuration、setMoveDuration、setRemoveDuration を設定することで簡単に時間を調節できます。

例えば ScaleUpAnimator の setAddDuration と setRemoveDuration を変更してみます。すると追加と削除のときのアニメーションの表示間隔が変わります。

    val scaleUpAnimator = ScaleUpAnimator().apply {
        // 追加時のアニメーション間隔
        addDuration = 2000 
        // 削除時のアニメーション時間
        removeDuration = 4000
    }
    
    recycler_view.also { view ->
        // 省略 : Adapter や LayoutManager をセットアップする
        view.itemAnimator = scaleUpAnimator
    }

おわりに

RecyclerView でのアニメーションの時間を調整するには次の特徴を理解する必要がある。

  • RecyclerView では ItemAnimation をセットすることでアニメーションを変更できる
  • RecyclerView でアニメーションの時間を調整する場合は ItemAniamtor の setAddDuration、setChangeDuration、setMoveDuration、setRemoveDuration で変更できる。

本記事の内容の動作確認をしたプロジェクトがこちらにあります。
詳細を知りたいかたは以下を参照してください。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages