Middle
48
questionbank

Как изменить количество колонок в RecyclerView так, чтобы при портретной ориентации отображалась одна колонка, а при смене ориентации на ландшафтную - две или более колонок?

Получайте ответы на вопросы в реальном времени с Sobes Copilot
Ответ от нейросети sobes.tech

Можно использовать GridLayoutManager.

Для изменения количества колонок в зависимости от ориентации экрана, следует:

  1. Получить текущую ориентацию устройства.
  2. В зависимости от ориентации, создать GridLayoutManager с нужным количеством колонок и установить его для RecyclerView.

Пример:

kotlin

Также можно определить количество колонок в ресурсах (dimens.xml) для разных ориентаций:

Создать res/values/dimens.xml:

xml

Создать res/values-land или res/values-sw600dp-land (для планшетов) dimens.xml:

xml

И затем использовать этот ресурс в коде:

kotlin

Этот подход более гибкий, так как позволяет легко изменять количество колонок, не меняя код.