Implémenter des transitions d'application synchronisées

La fonctionnalité de transition d'application synchronisée est une fonctionnalité d'Android 9 qui améliore l'architecture de transition d'application existante. Lorsqu'un utilisateur ouvre, ferme ou bascule entre des applications, le processus SystemUI ou Lanceur (écran d'accueil) envoie une requête pour contrôler l'animation image par image avec une synchronisation garantie entre les animations de vue et les animations de fenêtre. Lorsque SystemUI ou Lanceur dessine une nouvelle image dans le cadre d'une animation, il demande une transformation différente sur la surface de l'application animée, qui détermine la façon dont l'application est composée à l'écran, et marque la requête, une transaction de surface, à synchroniser avec l'image qu'il est en train de dessiner.

Cela permet de créer de nouvelles animations de transition d'application qui ne sont pas possibles sur Android 8.x et versions antérieures. Par exemple, l' animation de lancement d'application peut transformer de manière transparente les icônes de l'écran d'accueil en surface d'application, et l' animation de lancement de notification peut transformer les notifications en surface d'application.

Exemples et source

Consultez les références suivantes pour cette fonctionnalité.

Pour obtenir une implémentation de référence pour l'animation de lancement de notification, consultez ActivityLaunchAnimator.kt.

Implémentation

Vous pouvez implémenter cette fonctionnalité sur le lanceur d'applications/l'UI du système selon vos besoins ou utiliser l'implémentation AOSP dans SystemUI/Launcher3.

Validation

Pour valider les performances des animations, mesurez les performances de l' application de contrôle, c'est-à-dire SystemUI ou Lanceur, pendant les animations, comme décrit dans Tester les performances de l'interface utilisateur.