おはようございます。
bowyer-appです。
そろそろ技術的な記事を書こうと思います。
ListViewやGridViewのいいとこ取りをしたAndroidで主流になってきたRecyclerView
自由度が高く、カスタマイズできるのですが、区切り線は自分で実装しないといけないですね。
すごいめんどくさい。
解決方法
RecyclerView.ItemDecorationを使う
Adapterでセットする特定ビューへの描画やレイアウトの追加ができるものです
できればライブラリでやりたい。
positionを指定して区切り線をつけるライブラリは存在していた。
ただ、今後実装したいのはViewTypeを複数持ったRecyclerView
できればもっと自由度の高いのが欲しい。
見つけたライブラリはこちら
・RecyclerViewのItemDecorationのライブラリ
・positionではなくViewTypeで指定できる
・表示順を変更したときにViewTypeで指定してるから修正がラク
こちらに詳しく実装方法が書かれてました。
RecyclerViewのItemDecorationをViewTypeで指定できるライブラリ(RecyclerItemDecoration)を作ってみた。
PositionではなくViewTypeで区切り線を指定すると、1行1行の順番や数が変わっても区切り線の実装部分には何も変更が起ません。
例えば、「4個表示しているものを8個にしてほしい」「表示位置を変えて欲しい」という要望があった場合にPositionで指定しているとその条件を書き換える必要がでてきます。(←サービス運用中の経験談w)
このライブラリではそこは考慮せずに使用することができます。
あとで試してみようと思います。
実装したらGithubにアップします!