Plusのようなリストアニメーションを実装する2017年04月12日(編集2017年04月12日)TweetAndroidアプリで一覧データのUI(ユーザーインターフェース)を作成する場合は、ListViewかRecyclerViewを使います。Plusのようなリストアニメーションを実装する方法を記載した記事です。中級者向けサンプルコードAndroid-RecyclerView-DemoRecyclerViewRecyclerViewは一覧表示の実装に利用するクラスです。ListViewを使うより、表現力のある、柔軟なユーザーインターフェースを作成できます。Plusのようなリストアニメーションを実装するには、RecyclerViewの一覧表示の実装方法をきちんと理解している必要があります。理解不足の場合、まずはこちらの記事を読んでRecyclerViewの使い方を理解してください。Plusのようなリストアニメーションアプリの動画です。実装RecyclerViewの一覧処理を実装します。RecyclerView.Adapterを継承したクラスでアニメーションを実装します。クラス名はRecyclerViewGooglePlusFragmentAdapterにします。onBindViewHolderonBindViewHolderメソッドは、指定された位置にデータを表示するために、RecyclerViewによって呼び出されます。{}このメソッドで、行のViewの内容を更新します。アニメーションはこのメソッド内で実装します。immediately..."が表示されます。リストの位置情報が必要な場合は、ViewHolder#getAdapterPosition()を使用します。noteList.get(holder.getAdapterPosition());}positionを使うとクラッシュする可能性があるので、なるべくholder.getAdapterPosition()を使ってください。アニメーション行のViewが画面下から上にスライドアップするアニメーションを実装します。position;}上記のコードは、1度アニメーションで表示されたviewを、2度アニメーションさせないようにしています。することで、スクロールで画面上部に戻す時に列のviewが再びアニメーションすることを防いでいます。アニメーション実装アニメーションの実装は、xmlを使います。2なので、3列目のviewからアニメーションを実行するようにしています。1)のアニメーションを扱います。res/anim/xxxx.xmlに配置されたアニメーションのxmlを読み込むことができます。InterpolatorにはLinearOutSlowInInterpolatorを設定します。Interpolatorはアニメーションの補間クラスです。LinearOutSlowInInterpolatorを使うと、オブジェクトは画面の外からフルスピードで画面に入り、停止点に向かってゆっくりと減速します。画面外から中へのアニメーションを実装するとき、LinearOutSlowInInterpolatorを使うと自然なアニメーションになります。onViewDetachedFromWindowonViewDetachedFromWindowメソッドで、アニメーションのキャンセル処理を実装します。ViewCompat.animate(holder.view).cancel();}onViewDetachedFromWindowメソッドはRecyclerView.Adapterによって作成されたビューがウィンドウから切り離されたときに呼び出されます。アニメーションを削除しないとアプリがクラッシュする可能性があるので、忘れずに実装してください。ビルド上記のコードの動作を確認してみましょう。Animationスクロールで列のviewがアニメーションしながら表示されるようになりました。結論RecyclerViewが導入されたことで、Androidでは色々なリスト表示のやり方ができるようになりました。Googleの純正アプリでは面白いリスト表示が多く実装されているので試してみてください。