Implémenter des transitions d'applications synchronisées

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é.

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 .