RecyclerViewで一覧画面の区切り線を作成する2016年04月10日(編集2017年03月12日)TweetAndroidアプリで一覧データのUI(ユーザーインターフェース)を作成する場合は、ListViewかRecyclerViewを使います。RecyclerViewで区切り線を利用するには、コードで実装する必要があります。この記事は、RecyclerViewで区切り線の実装方法を記載した記事です。中級者向けサンプルコードAndroid-Recycleview_DemoRecyclerViewとはRecyclerViewクラスは、Androidアプリで一覧画面のUIを作成する時に利用します。区切り線は、一覧画面で項目ごとに線を引きます。区切り線の実装RecyclerViewで区切り線を実装するには、一覧表示の実装ができることが前提です。一覧表示の実装方法を理解してないなら、RecyclerViewで一覧画面を作成するの記事を読んで、一覧表示の実装をおこなえるようにしてください。Recyclerviewバージョン25以上RecyclerViewバージョン25からは、DividerItemDecorationが導入されました。このクラスは、この記事で説明している内容とほぼ同じコードが実装された純正ライブラリです。DividerItemDecorationで下線を引くの記事を参考にした実装で下線を引けば良いと思います。使用クラスRecyclerView.ItemDecorationクラスを利用します。ItemDecorationクラスは、adapterのデータ設定で、特定の項目にレイアウトのオフセットと特別な描画を加えることができます。一覧表示のRecycleViewに、区切り線を追加します。区切り線の生成にはRecyclerView.ItemDecorationクラスを利用します。コードで以下のようにItemDecorationの子クラスを作成します。}}onDrawメソッドをオーバーライドして呼び出します。このメソッドで記述された内容が、項目のviewを生成する前にCanvasで記述されます。}}drawVerticalメソッドとdrawHorizontalメソッドは前もって用意されているメソッドではありません。区切り線を引くため、自分で実装したメソッドです。高さ、幅などの値から区切り線を描画する位置を計算しています。viewの計算には慣れが必要です。viewの計算で得られる値は以下のようになります。viewの計算は左上が基準座標として計算する上記の値からCanvasに線を引く座標を設定します。子供viewの計算から、区切り線の位置を決める子viewの値で、Canvasを塗りつぶします。上記で作成したDividerItemDecorationの子クラスをRecyclerViewに設定します。}RecyclerViewのaddItemDecorationメソッドの引数にitemDecorationオブジェクトを渡します。DividerItemDecoration.VERTICAL_LIST);recyclerView.addItemDecoration(itemDecoration);ビルドして実行ビルドしてアプリを実行します。区切り線が表示されました。まとめItemDecorationを利用すると、RecyclerViewのviewに様々な装飾ができます。区切り線以外の描写は、Googleカレンダー、Gmail、Inboxのインターフェースが参考になると思います。Canvasオブジェクトの使い方は慣れるまで大変なので、手元にメモを用意し、図と数値を書きながらイメージを固めていくと理解が早まるでしょう。挑戦してみてください。