Как использовать scrollVerticallyBy() с Android RecyclerView и LayoutManager?

Я хотел бы прокрутить определенное количество пикселей в направлении y в моем recyclerview. Я знаю, что существуют такие методы, как scrollToPosition() или scrollToPositionWithOffset(). Тем не менее, это не соответствует моим потребностям.

Я увидел, что LayoutManager предоставляет метод scrollVerticallyBy(int dy, RecyclerView.Recycler recycler, RecyclerView.State state). Это звучит так, как я хочу.

Как его использовать? Что такое recycler и state? Я не нашел примеров в Интернете, поэтому некоторый код был бы полезен.

Ответ 1

Я не знаю о scrollVerticallyBy, который больше похож на внутренний метод для RecyclerView. Разве вы не просто ищете методы scrollBy(int x, int y) и smoothScrollBy(int dx, int dy)?

Из документации:

public void scrollBy (int x, int y)

Переместите прокрученную позицию вашего вида. Это вызовет вызов onScrollChanged (int, int, int, int), и представление будет недействительным.

Параметры
x int: количество пикселей для прокрутки по горизонтали
y int: количество пикселей для прокрутки по вертикали

Вы можете использовать следующие методы:

recyclerView.scrollBy(0, 50); //Scroll 50 pixels down
recyclerView.scrollBy(0, -50); //Scroll 50 pixels up

То же самое относится к smoothScrollBy.