Создайте RecyclerView с горизонтальной и вертикальной прокруткой
За последние несколько недель я учился использовать RecyclerView
. Мне нужно реализовать горизонтальный список, т.е. Путем поворота устройства в ландшафтном режиме следующим образом:
![введите описание изображения здесь]()
Я нашел лучшее решение для этого (как создать горизонтальное смещение RecyclerView
, здесь), но столкнулся с другой проблемой. Элемент RecyclerView
был больше высоты устройства (в горизонтальном, горизонтальном), поэтому мне нужно одновременно создавать вертикальное и горизонтальное смещение.
Я рассмотрел методы Android Developer для класса LayoutManager
, но мои навыки недостаточно высоки, чтобы понять большинство методов. Я также попытался поместить RecyclerView
вертикально внутри другого RecyclerView
по горизонтали со всем содержимым, но я получаю ошибку:
IllegalStateException: у RecyclerView нет LayoutManager
Чтобы пережить это, я удалил все элементы <View ... />
из файла XML, но это не дает никаких результатов.
Чтобы уточнить, что я спрашиваю: возможно ли, чтобы мой макет прокручивался как по горизонтали, так и по вертикали, и если бы вы могли объяснить, как бы я это оценил.
Ответы
Ответ 1
Я был так зол на все проблемы, которые касались приложения, которое не задумывалось о самом простом решении.
В RecyclerView
состоит из двух файлов XML, основного, где объявлен RecyclerView, а другой - с содержимым.
Простейшим решением было введение RecyclerView
в пределах ScrollView
. Таким образом, я могу перемещать все предметы за раз, благодаря ScrollView
по вертикали и по горизонтали. Я могу перемещать элементы благодаря RecyclerView
в ландшафтном режиме.
activity_main.xml
<ScrollView xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:layout_margin="@dimen/cardIn_margin_ext">
<android.support.v7.widget.RecyclerView
android:id="@+id/recycler_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
android:scrollbarStyle="outsideInset"
android:scrollbars="horizontal" />
</ScrollView>