Я использую RecyclerView и получая объекты из API пакетами по десять. Для разбивки на страницы я использую EndlessRecyclerOnScrollListener.
Все работает нормально. Теперь все, что осталось, - добавить прокрутку прогресса в нижней части списка, в то время как следующая партия объектов извлекается API. Вот скриншот приложения Google Play Store, показывающий ProgressBar в том, что, несомненно, RecyclerView:
Проблема заключается в том, что ни RecyclerView, ни EndlessRecyclerOnScrollListener не имеют встроенной поддержки для отображения ProgressBar внизу, пока следующая партия объектов извлекается.
Я уже видел следующие ответы:
1. Поместите неопределенный ProgressBar в нижний колонтитул в RecyclerView сетку. p >
2. Добавление элементов в Endless Scroll RecyclerView с ProgressBar внизу. p >
Я не удовлетворен этими ответами (и тем же человеком). Это включает в себя shoehorning объект null в набор данных на полпути, пока пользователь прокручивается, а затем вынимает его после отправки следующей партии. Это похоже на хак, который обходит основную проблему, которая может или не может работать должным образом. И это вызывает немного резкости и искажения в списке
Использование SwipeRefreshLayout здесь не является решением. SwipeRefreshLayout включает в себя вытягивание сверху, чтобы извлечь новейшие элементы, и в любом случае он не отображает представление прогресса.
Может ли кто-нибудь предложить хорошее решение для этого? Мне интересно узнать, как Google внедрил это для своих приложений (в приложении Gmail тоже есть). Существуют ли какие-либо статьи, где это подробно показано? Все ответы и комментарии будут оценены. Спасибо.
Другие ссылки:
1. Разбиение страницы с помощью RecyclerView. (Превосходный обзор...)
2. RecyclerView заголовок и нижний колонтитул. (Больше того же...)
