Les transitions d'applications 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 les applications, le processus SystemUI ou Launcher (écran d'accueil) envoie une demande 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 Launcher 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 demande, une transaction de surface, à synchroniser avec le cadre 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 de l'application peut transformer de manière transparente les icônes de l'écran d'accueil dans la surface de l'application et l' animation de lancement des notifications peut transformer les notifications dans la surface de l'application.
Exemples et source
Consultez les références suivantes pour cette fonctionnalité.
-
ActivityOptions.makeRemoteAnimation
-
RemoteAnimationAdapter
-
RemoteAnimationRunner
-
Activity.registerRemoteAnimations
Pour une implémentation de référence pour l'animation de lancement de notification, voir ActivityLaunchAnimator.kt
.
Mise en œuvre
Vous pouvez implémenter cette fonctionnalité sur Launcher/System UI selon vos besoins ou vous pouvez 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 Test UI performance .