Implémenter des transitions d'application synchronisées

Les transitions d'application synchronisées sont 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 Launcher (é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 le lanceur d'applications dessine un nouveau frame dans le cadre d'une animation, il demande une transformation différente sur la surface de l'application animée qui détermine la composition de l'application à l'écran, et marque la requête, une transaction de surface, pour qu'elle soit synchronisée avec le frame qu'il dessine actuellement.

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

Exemples et source

Pour en savoir plus sur cette fonctionnalité, consultez les références suivantes.

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

Implémentation

Vous pouvez implémenter cette fonctionnalité sur le lanceur/l'UI système si nécessaire, 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 Launcher, pendant les animations, comme décrit dans la section Tester les performances de l'UI.