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

Я долго искал ответ на этот вопрос, но ничего не смог найти. Моя проблема. У меня есть RecyclerView с LinerLayout, SnapHelper, так что центральный элемент расположен точно в центре. Мне нужно было прокрутить до последнего или первого элемента списка. Для этого я использовал следующий код:

 layoutManager.scrollToPosition(position);
    recyclerView.post(()->{
            View view = layoutManager.findViewByPosition(position);
            if (view != null) {
             int[] snapDistance = snap.calculateDistanceToFinalSnap(layoutManager, view);
               if (snapDistance[0] != 0 || snapDistance[1] != 0) {
                 recyclerView.scrollBy(snapDistance[0], snapDistance[1]);
              }
           }
     });

Но в этом случае, когда я пытаюсь прокрутить список до последнего или первого элемента, список не прокручивается дальше, чем середина, то есть Мне нужно прокрутить до 300 элементов, но только прокрутить до 297. Установив stackFromEnd = true, я смог прокрутить список до последнего элемента, но пока первая прокрутка по-прежнему не работает. После того, как я попытался использовать smoothScrollToPosition (), все стало хорошо работать, но анимация мне не нравится, я бы хотел ее отключить. Можно ли реализовать прокрутку до первого / последнего элемента без smoothScrollToPosition? Если да, скажи мне как. В противном случае, скажите мне, как я могу отключить анимацию прокрутки. Заранее спасибо за любую помощь.

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