8

За последние несколько недель я учился использовать RecyclerView. Мне нужно реализовать горизонтальный список, то есть, что при повороте устройства в ландшафтном режиме, как так:Создайте RecyclerView с горизонтальной и вертикальной прокруткой

enter image description here

Я нашел лучшее решение для этого (как создать горизонтальное смещение RecyclerView, here), но столкнулись с другой проблемой. Элемент RecyclerView был больше высоты устройства (в горизонтальном, горизонтальном), поэтому мне нужно создать вертикальное и горизонтальное смещение одновременно.

Я изучил методы Android Developer для класса LayoutManager, но мои навыки недостаточно высоки, чтобы понять большинство методов. Я также попытался положить RecyclerView вертикально внутри другого RecyclerView горизонтально со всем содержанием, но я получаю сообщение об ошибке:

IllegalStateException: RecyclerView has no LayoutManager

Для rememedy это я удалил все <View ... /> элементы из файла XML, но это не дает никаких результатов.

Чтобы уточнить, о чем я прошу: возможно ли, чтобы мой макет прокручивался как по горизонтали, так и по вертикали, и если бы вы могли объяснить, как бы я это оценил.

+0

как насчет 2-мерная галерея как: http://stackoverflow.com/questions/3754445/how-to-make-a-2-dimension-image-gallery-with -both-horizontal-and-vertical-scroll –

ответ

7

Я был так зол на все проблемы, которые касались приложения, которое не задумывалось о самом простом решении.

В 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> 
+1

Простой и гениальный! –

+0

, если родительский элемент имеет прокрутку, ребенок также не может быть прокруткой. Это приводит к двусмысленности, вызванной рендерингом. Niiice пытается взломать Android OS – DJphy

+0

Boom shakalaka, он работает! – Justin

Смежные вопросы