Этот вопрос фактически такой же, как " Высота представления Nested Recycler не переносит его содержимое ", но для горизонтально ориентированных RecyclerView
.
у меня есть RecyclerView
, которыйвкладывается в два ScrollView
с. Я хочу, чтобы RecyclerView
выложил все элементы (необходимые для моих целей) и позволил ScrollView
s справиться с прокруткой. Поэтому я установил RecyclerView
ширину и высоту на wrap_content
и nestedScrollingEnabled
на false.
<androidx.core.widget.NestedScrollView
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:app="http://schemas.android.com/apk/res-auto"
xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/vscroll"
android:layout_width="wrap_content"
android:layout_height="match_parent">
<HorizontalScrollView
android:id="@+id/hscroll"
android:layout_width="match_parent"
android:layout_height="match_parent">
<androidx.recyclerview.widget.RecyclerView
android:id="@+id/recyclerview"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:nestedScrollingEnabled="false"/>
</HorizontalScrollView>
</androidx.core.widget.NestedScrollView>
recyclerView.isNestedScrollingEnabled = false
recyclerView.layoutManager = LinearLayoutManager(recyclerView.context, HORIZONTAL, false)
Это работает правильно, если ориентация RecyclerView
вертикальная. Но я хочу, чтобы RecyclerView располагал элементы по горизонтали. Однако, если я установлю LinearLayoutManager
в горизонтальное положение, он будет отображать только то, что на экране, а не всю ширину, даже если ширина RecyclerView
установлена в wrap_content
! Также не запускаются новые элементы при горизонтальной прокрутке (я полагаю, потому что прокрутка обрабатывается ScrollView
).
Это ошибка в библиотеке RecyclerView
? Или это происходит из-за того, что HorizontalScrollView
не очень хорошо играет с вложенным RecyclerView
, как (по вертикали) NestedScrollView
? Мне нужно что-то вроде NestedHorizontalScrollView
? Я что-то не так делаю?