Как использовать Recyclerview внутри Scrollview

Я пытаюсь показать горизонтальные элементы recyclerview и вертикальные элементы recyclerview внутри ScrollView

Scrollview не работает. Если я использую android: fillViewport = "true"

<ScrollView android:layout_width="match_parent" android:layout_height="match_parent"> <LinearLayout android:layout_width="match_parent" android:layout_height="match_parent" android:orientation="vertical"> //Horizontal Recyclerview items <RecyclerView android:layout_width="match_parent" android:layout_height="wrap_content"> </RecyclerView> //vertical Recyclerview items <RecyclerView android:layout_width="match_parent" android:layout_height="match_parent"></RecyclerView> </LinearLayout> </ScrollView> 

Вместо этого вы должны использовать NestedScrollView . Однако вам может понадобиться написать собственный LayoutManager. Проверьте этот SO-ответ для получения более подробной информации.

  1. Для использования recyclerview внутри scrollview вам нужно использовать собственный менеджер макетов.

  2. Вы можете удалить scrollview и создать элемент заголовка в режиме вертикального recyclerview, который содержит горизонтальный recyclerview.

Также вы не должны использовать recyclerview внутри scrollview. Поэтому подумайте, что второй подход будет лучше.

Также вы можете использовать Snap-RecyclerView-Utils . Он имеет линейный менеджер компоновки для recyclerview внутри представления прокрутки и адаптера, который может помочь вам создать заголовок, содержащий горизонтальную переработку.

ScrollView может иметь только одного ребенка.
Удалите RelativeLayout и повторите попытку.

Помимо этого android:layout_height в ScrollView должен быть установлен в wrap_content

Кроме того, я не совсем уверен, если он работает, поскольку в Документах указано, что

Вы никогда не должны использовать ScrollView с ListView, потому что ListView позаботится о своей собственной вертикальной прокрутке. Самое главное, что это приводит к победе над всеми важными оптимизациями в ListView для работы с большими списками, поскольку оно эффективно заставляет ListView отображать весь список элементов для заполнения бесконечного контейнера, поставляемого ScrollView.

Возможно, NestedScrollView работает, поскольку он предназначен для

NestedScrollView похож на ScrollView, но он поддерживает как родительский, так и дочерний вложенные прокрутки на обеих новых и старых версиях Android. Вложенная прокрутка включена по умолчанию.

Intereting Posts