Первая прокрутка вне RecyclerView - PullRequest
0 голосов
/ 26 марта 2020

Мне нужна ваша помощь для небольшой проблемы.

Что у меня есть:

  1. NestedScrollView с вертикальной LinearLayout внутри него.

  2. Внутри LinearLayout у меня есть три элемента: CardView, RecyclerView и другой CardView.

Текущая ситуация: Если я установлю для RecyclerView Height значение "wrap_content", он будет рассчитывать размер в соответствии с его содержимым, НО, с 500 сложными элементами, это займет 7-8 секунд, поэтому это решение недопустимо.

Что мне нужно:

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

То, что я пробовал : Я попытался установить RecyclerView Height на фиксированный размер, превышающий размер экрана (скажем, 1000dp), но у него есть 2 проблемы:

  1. Если элементов недостаточно для заполнения Recycler, в конце Recycl будет пустое место er.

  2. Если имеется достаточно элементов для заполнения Recycler, при прокрутке он сначала прокручивает содержимое Recycler, а затем, когда он достигнет конца, прокручивает NestedScrollView в отобразить последний CardView.

В идеале мне бы хотелось, чтобы он сначала прокручивал NestedScrollView, пока верхняя часть Recycler не достигла вершины NestedScrollView, ПОТОМ она прокрутила Recycler и, наконец, по достижении конец Recycler, завершает прокрутку NestedScrollView до конца.

Спасибо

1 Ответ

0 голосов
/ 26 марта 2020

Я предлагаю вам разместить overScrollMode в вашем RecyclerView. Это обеспечит правильное поведение в NestedScrollView.

<android.support.v7.widget.RecyclerView
            android:layout_width="match_parent"
            android:layout_height="wrap_content"
            android:overScrollMode="never" />

Кроме того, одновременная загрузка 500+ элементов может занимать память, особенно если она содержит много данных, я бы посоветовал вам разбивать их на страницы и каждый раз RecyclerView достигает первого конца «скажем, 10 элементов», затем он продолжает извлекать больше, пока не достигнет всех ваших элементов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...