Ответ
Одна из самых интересных задач — реализация сложной анимации перехода между экранами с shared elements. Нужно было синхронизировать анимацию карточки товара из списка в детали, включая изображение, заголовок и цену, с кастомной кривой и отложенными трансформациями.
Основные сложности:
- Точное позиционирование элементов в разных иерархиях View
- Оптимизация под низкопроизводительные устройства
- Обработка прерываний (например, при быстром свайпе назад)
Решение:
val options = ActivityOptionsCompat.makeSceneTransitionAnimation(
activity,
Pair(imageView, "product_image"),
Pair(titleView, "product_title")
)
startActivity(intent, options.toBundle())
Дополнительно пришлось кастомизировать Transition с помощью SharedElementCallback и TransitionSet, чтобы добиться плавности. Результат получился близким к нативному поведению в Google Play Маркете.