Различные LayoutManager для разных View в RecyclerView
Имеется RecyclerView с элементами типа CardView. Необходимо реализовать второй View для рекламных полей - с этим в классе адаптера вроде разобрался. Проблема в следующем: в самой активности, где я использую RecyclerView, layoutManager задаю такой - recyclerView.setLayoutManager(new GridLayoutManager(this, 2)) (т.е таблицей в 2 столбца), но рекламный View должен располагаться на всю ширину экрана, т.е установка на него должна быть такой: recyclerView.setLayoutManager(new GridLayoutManager(this, 1)) (соответственно, та же таблица, но на 1 столбец). В общем, сам вопрос - как для нового View задать другой LayoutManager, или, возможно, как изменить LayoutManager для конкретного элемента, а затем, для последующих, вернуть прежний? Заранее благодарен за любую помощь.
Ответы (1 шт):
Мне кажется вы не правильно понимаете что такое LayoutManager. Он не задается для каждой конкретной View.
LayoutManager - это сущность которая отвечает за расположение и измерение View внутри RecyclerView. Т.е. в нем описана общая логика отображения.
Есть несколько готовых решений:
Вот еще пару решений по теме:
Если ни один из них не подходит вам, то вам нужно писать свой кастомный LayoutManager. В котором вы и будете описывать логику нужную вам.