Androidで高さを固定し幅の異なったviewをよしなにタイル状に配置する
RecyclerViewでタイル状に表示するときには、GridLayoutを使って表示する事が多いが、今回は「ハッシュタグ」のような横幅が可変のviewをmaxlineが決まった状態でよしなに並べて、横にスクロールできるようにしたかったのでGridLayoutだとうまく行かなかった。
GridLayoutでやったが、やってほしいこととしては、敷き詰めにviewが横に可変するような Textview
出会ったためうまく隙間を調整し敷き詰めてほしかったが、GridLayoutではそれが出来なかった。
そこでうまく折り返しをしてくれる flexbox-layout
を検討
github.com
ColもしくはRowに対して折り返ししてくれるlayoutであり、これを試してみた。 しかし、今回はmaxの高さを指定したく、それよりも高くなってしまう場合は横にスクロールできるようにしたいので、これもやりたい実装とは違った。
今回の実装の要件を満たすためにか下記の手段で実装した
RecyclerView + StaggeredGridLayoutManager