Different (dynamic) items height in GridLayoutManager

BlizzedRu picture BlizzedRu · Jan 24, 2016 · Viewed 12.5k times · Source

I have a RecyclerView and GridLayoutManager with 2 columns. How can I force LayoutManager to be according with template on the first screenshot? Now I have result as on the 2th screenshot.

Need result:

Current result:

Answer

David Medenjak picture David Medenjak · Jan 24, 2016

GridLayoutManager will use a grid, and you can set some span, but not different heights for different cells.

What you want is a StaggeredGridLayoutManager. This will just put the items on the screen if they fit, leading to your needed result. You can also change the reordering behavior, if you want to, by using setGapStrategy.