Какие знаешь LayoutManager

«Какие знаешь LayoutManager» — вопрос из категории UI и Views, который задают на 23% собеседований Android Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

LinearLayoutManager – линейный, вертикальный или горизонтальный.
GridLayoutManager – сетка с фиксированным количеством колонок.
StaggeredGridLayoutManager – "шахматная" сетка с разной высотой элементов.

Пример:

recyclerView.layoutManager = LinearLayoutManager(context, LinearLayoutManager.VERTICAL, false)
// или
recyclerView.layoutManager = GridLayoutManager(context, 2)
// или
recyclerView.layoutManager = StaggeredGridLayoutManager(2, StaggeredGridLayoutManager.VERTICAL)

Дополнительно: можно создавать кастомные LayoutManager, наследуясь от RecyclerView.LayoutManager.