読者です 読者をやめる 読者になる 読者になる

RecyclerViewで区切り線(divider)をつける

RecyclerViewで区切り線をつけるとき、今まではRecyclerView.ItemDecorationを継承して自前でクラスを実装する必要がありましたが、 Support Library 25.0.0からはandroid.v7.widget.RecyclerView.DividerItemDecoration というAPIが提供されたので、 以下のような感じで簡単に区切り線がつけられるようになりました。

DividerItemDecoration dividerItemDecoration = new DividerItemDecoration(recyclerView.getContext(),
         new LinearLayoutManager(getActivity()).getOrientation());
recyclerView.addItemDecoration(dividerItemDecoration);

ちなみに線の色とかを変えたいときはこんな感じ。

dividerItemDecoration.setDrawable(ContextCompat.getDrawable(getActivity(), R.drawable.divider));

drawable/divider.xml

<shape xmlns:android="http://schemas.android.com/apk/res/android">
    <size android:height="1dp" />
    <solid android:color="@color/diivider_color" />
</shape>

(参考)

Recent Support Library Revisions | Android Developers

DividerItemDecoration | Android Developers