Что следует знать про списки данных
Первым делом, посмотрите видео об основном, что следует знать о списках данных:
На что обратить внимание
- при пагинации юзер должен видеть что пагинация затриггерилась и работает
- при пуллтурефреше данные отображенные на ui не должны исчезать - они должны подменяться на новые более актуальные данные
- состояние загрузки пуллтурефреша должно быть видно в самом пуллтурефреше. анимация его не должна исчезать пока контент в списке не станет актуальным. пропала анимация - мы точно работаем с актуальным контентом
- если сервер выдал пустой список - мы должны показывать понятный empty state. если данные в этом списке динамично меняются (то есть часто, а не статичные) то надо давать возможность обновить список кнопкой / пулл ту рефрешем
- если при загрузке первичной была ошибка - надо стейт с ошибкой понятной показывать и кнопку повтора запроса
- пока идет первичная загрузка - юзер должен видеть это как прогрессбар или скелетон вью
- если ошибка пуллтурефреша - показываем неблокирующее сообщение (тост, снекбар и аналоги). не забираем излишне внимание на этот факт
- если ошибка загрузки новой страницы - показываем неблокирующее сообщение (тост, снекбар и аналоги). не забираем излишне внимание на этот факт
- нельзя делать список в списке (когда внутри скролла есть еще один скролл по той же оси - вертикальный в вертикальном)
- Вот что сказано по этому поводу в документации
Never add a RecyclerView or ListView to a scroll view. Doing so results in poor user interface performance and a poor user experience.
- Вот что сказано по этому поводу в документации
- отступы однотипных элементов списка должны быть одинаковые
- когда список проскроллим до конца последний элемент не должен обрезаться или сливаться с границей экрана - отступ должен быть тот же что и наверху
- когда данные списка меняются он должен корректно перестраиваться, где бы данные не были удалены или добавлены