Как сделать так, чтобы последний элемент прокручивался до самого верха RecyclerView

У меня есть RecyclerView, содержащий TextViews в своих строках. Когда вы прокручиваете полностью вниз, прокрутка останавливается, так что нижняя часть последнего элемента выравнивается с нижней частью RecyclerView. Есть ли простой способ сделать так, чтобы последний элемент мог прокручиваться, чтобы его верхняя часть была выровнена с верхней частью RecyclerView?

Это скриншот поведения по умолчанию при прокрутке до конца:

введите здесь описание изображения

Это желаемое поведение:

введите здесь описание изображения

Что я пробовал:

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

Высоты, которые я измерил, следующие:

высота строки состояния, высота панели приложения, 3 высоты заголовка, высота нижней панели нижнего колонтитула, высота нижней панели навигации (не видно на снимке экрана) и высота самого последнего элемента

Я просмотрел другие похожие вопросы/ответы (например, элемент scroll recyclerview вверх внутри прокрутки, Разрешить элементы Recyclerview прокрутить верхнюю часть Recyclerview, Android, что делает атрибут clipToPadding?), но безуспешно.

Мне нужно, чтобы он работал как в портретном, так и в ландшафтном режиме.


person Samuel    schedule 15.04.2020    source источник