Техническое задание: Доработка библиотеки анимации StackLayoutManager
Требуется модернизировать существующую библиотеку для создания анимированных стеков элементов в Android-приложениях. Библиотека написана на Java/Kotlin и использует кастомный LayoutManager для RecyclerView.
Основные задачи для реализации
- Обеспечение цикличной прокрутки: При достижении последнего элемента следующим должен становиться первый. Аналогичное поведение должно работать и для прокрутки в обратную сторону.
- Ограничение прокрутки: При свайпе прокрутка должна быть ограничена одним элементом, а не бесконечной.
- Визуальная настройка фоновых элементов: Задний (неактивный) View должен быть уменьшен в размере и смещен выше относительно активного (основного) элемента.
Специальное требование и технический анализ
Работа с двумя View без инфлейта третьего
Библиотека планируется к использованию с Android виджетами (App Widgets), которые, в отличие от обычных View, не могут быть присоединены к нескольким родительским контейнерам (parent).
Необходимо предоставить анализ:
- Возможна ли техническая реализация работы с двумя виджетами без создания (inflate) третьего в момент перелистывания.
- Насколько такая реализация усложнит существующий алгоритм работы библиотеки.
- Какие могут быть последствия внедрения этого решения.
- Важное условие: Реализация не должна нарушать работу библиотеки с тремя и более обычными View.
Ожидаемый результат
Обновленная, стабильная библиотека с плавной цикличной анимацией, контролируемой прокруткой и улучшенным визуальным представлением, готовая к работе как с обычными View, так и с учетом специфики Android виджетов.