Я могу помочь вам с несколькими предложениями относительно того, как я буду делать этот макет. Проверьте, поможет ли это:
Во-первых, следуйте этому посту для реализации нескольких видов типов в вашем обзоре переработчика, переопределив метод getItemViewType()
в вашем адаптере просмотра переработчика. Вы можете установить тип представления элемента на основе его положения в списке данных или значения в вашем источнике данных et c. На основе этого возвращенного типа просмотра вы можете установить, как должен выглядеть ваш видоискатель, в методе onCreateViewHolder()
адаптера и функциональности в методе onBindViewHolder()
.
Далее вашему представлению переработчика необходимо будет использовать GridLayoutManager
с вертикальным ориентация и 2 столбца.
С помощью этих 2-х шагов вы можете иметь несколько видов в разных столбцах, как вам нужно, НО для того, чтобы видоискатель занимал всю ширину, как 2-й ряд в вашем образце изображения, который вам нужно будет сделать использование setSpanSizeLookup()
метода вашего менеджера компоновки сетки. Вы можете использовать этот пост здесь для справки.
В основном это все, что вам нужно для достижения вашего макета. Используйте несколько видов просмотра для повторного просмотра с помощью менеджера сетки с настраиваемым поиском размера.
Упомянутые мной ссылки в основном относятся к java, но преобразование их в kotlin должно быть довольно простым. Посмотрите и дайте нам знать, если это поможет.