Il seguente diagramma ti aiuta a decidere quale API utilizzare per implementare l'animazione.

Utilizza la seguente struttura decisionale per scegliere l'API di animazione più appropriata per il tuo caso d'uso:
- L'animazione è basata su immagini (ad es. SVG o immagini)?
- Sì: utilizza SVG semplici (ovvero un'icona con micro-animazioni)?
- Sì:
AnimatedVectorDrawable
. - No: framework di animazione di terze parti, ad esempio
Lottie
.
- Sì:
- No: l'animazione deve ripetersi all'infinito?
- Sì:
rememberInfiniteTransition
. - No: stai animando un layout?
- Sì: passi da un composable all'altro con contenuti diversi?
- Sì: utilizzi Navigation-Compose?
- Sì:
composable()
conenterTransition
eexitTransition
impostati. - No:
AnimatedContent
,Crossfade
oPager
.
- Sì:
- No: stai animando l'apparizione o la scomparsa di contenuti?
- Sì:
AnimatedVisibility
oanimateFloatAsState
conModifier.alpha()
. - No: stai animando una modifica delle dimensioni?
- Sì:
Modifier.animateContentSize
. - No: stai animando un'altra proprietà di layout (ad esempio offset o padding)?
- Sì: consulta la sezione "Le proprietà sono completamente indipendenti l'una dall'altra?".
- No: stai animando gli elementi dell'elenco?
- Sì:
- Sì:
- Sì: utilizzi Navigation-Compose?
- No: stai animando più proprietà?
- Sì: le proprietà sono completamente indipendenti l'una dall'altra?
- Sì:
animate*AsState
. Per il testo, utilizzaTextMotion.Animated
. - No: devono iniziare contemporaneamente?
- Sì:
updateTransition
conAnimatedVisibility
,animateFloat
,animateInt
e così via. - No:
Animatable
conanimateTo
, chiamato con tempistiche diverse utilizzando le funzioni di sospensione.
- Sì:
- Sì:
- No: l'animazione ha valori target predefiniti?
- Sì:
animate*AsState
. Per il testo, utilizzaTextMotion.Animated
. - No: l'animazione è basata sui gesti e rappresenta l'unica fonte attendibile?
- Sì:
Animatable
conanimateTo
/snapTo
. - No: è un'animazione una tantum senza gestione dello stato?
- Sì:
AnimationState
oanimate
. - No: la risposta non è qui? Invia una richiesta di funzionalità.
- Sì:
- Sì:
- Sì:
- Sì: le proprietà sono completamente indipendenti l'una dall'altra?
- Sì: passi da un composable all'altro con contenuti diversi?
- Sì:
- Sì: utilizza SVG semplici (ovvero un'icona con micro-animazioni)?
Scarica la versione PDF del diagramma.