Проект для домашней работы с RecyclerView и анимациями.
В текущем проекте список реализован неоптимально. Ваша задача — отрефакторить его и привести к более эффективному состоянию, используя лучшие практики.
Домашнее задание состоит из двух частей.
Что нужно сделать:
- Если в категории больше 10 элементов — отображать их в горизонтальном
RecyclerView.
Переключатель Show All должен управлять этим режимом. - Если элементов 10 или меньше — оставляем отображение как сейчас.
- Подключить DiffUtil.
- Настроить payloads (на примере бейджика 🔥, который можно добавить/удалить кнопкой Highlight movers).
- Настроить единый shared ViewPool для холдеров.
Ожидаемый результат:
| Изначально | Должно получиться |
|---|---|
1-before.mp4 |
1-done.mp4 |
Что нужно сделать:
- Реализовать кастомный
ItemAnimatorи подключить его к списку. - Обязательно реализовать методы
animateAddиanimateRemove. - Вид анимации можно выбрать любой. Например, как в видео: плавный фейд + сдвиг в сторону.
Ожидаемый результат:
| Изначально | Должно получиться |
|---|---|
2-before.mp4 |
2-done.mp4 |
Чтобы сдать работу:
- селайте Pull Request
- приложите скриншоты или видео (лучше) к Pull Request'у