Implementare transizioni di app sincronizzate

Le transizioni delle app sincronizzate sono una funzionalità di Android 9 che migliora l'architettura di transizione delle app esistente. Quando un utente apre, chiude o passa da un'app all'altra, il processo SystemUI o Avvio app (schermata Home) invia una richiesta per controllare l'animazione fotogramma per fotogramma con la sincronizzazione garantita tra le animazioni delle visualizzazioni e le animazioni delle finestre. Quando SystemUI o Avvio app disegna un nuovo fotogramma come parte di un'animazione, richiede una trasformazione diversa sulla superficie dell'app di animazione che determina la composizione dell'app sullo schermo e contrassegna la richiesta, una transazione di superficie, da sincronizzare con il fotogramma che sta disegnando.

In questo modo, è possibile creare nuove animazioni di transizione delle app che non sono possibili su Android 8.x e versioni precedenti. Ad esempio, l' animazione di avvio dell'app può trasformare senza problemi le icone della schermata Home nella superficie dell'app e l' animazione di avvio delle notifiche può trasformare le notifiche nella superficie dell'app.

Esempi e origine

Consulta i seguenti riferimenti per questa funzionalità.

Per un'implementazione di riferimento per l'animazione di avvio delle notifiche, vedi ActivityLaunchAnimator.kt.

Implementazione

Puoi implementare questa funzionalità nell'interfaccia utente di Avvio app/sistema in base alle esigenze oppure puoi utilizzare l'implementazione AOSP in SystemUI/Launcher3.

Convalida

Per convalidare il rendimento delle animazioni, misurane il rendimento dell' app di controllo, ovvero SystemUI o Avvio app, durante le animazioni, come descritto in Testare il rendimento dell'interfaccia utente.