Das folgende Diagramm hilft Ihnen bei der Entscheidung, welche API Sie für die Implementierung Ihrer Animation verwenden sollten.

Anhand des folgenden Entscheidungsbaums können Sie die für Ihren Anwendungsfall am besten geeignete Animation API auswählen:
- Basiert Ihre Animation auf Kunst (d. h. SVGs oder Bildern)?
- Ja: Werden einfache SVGs verwendet, also ein Symbol mit Mikroanimationen?
- Ja:
AnimatedVectorDrawable
. - Nein: Animations-Framework eines Drittanbieters, z. B.
Lottie
.
- Ja:
- Nein: Muss sich die Animation unendlich wiederholen?
- Ja:
rememberInfiniteTransition
. - Nein: Animieren Sie ein Layout?
- Ja: Wechseln Sie zwischen Komponenten mit unterschiedlichen Inhalten?
- Ja: Verwenden Sie Navigation-Compose?
- Ja:
composable()
mit festgelegtenenterTransition
undexitTransition
. - Nein:
AnimatedContent
,Crossfade
oderPager
.
- Ja:
- Nein: Animieren Sie das Erscheinen oder Verschwinden von Inhalten?
- Ja:
AnimatedVisibility
oderanimateFloatAsState
mitModifier.alpha()
. - Nein: Animieren Sie eine Größenänderung?
- Ja:
Modifier.animateContentSize
. - Nein: Animieren Sie eine andere Layouteigenschaft (z. B. „Abstand“ oder „Abstand“)?
- Ja: Weitere Informationen finden Sie unter „Sind die Properties völlig unabhängig voneinander?“.
- Nein: Animieren Sie Listenelemente?
- Ja:
- Ja:
- Ja: Verwenden Sie Navigation-Compose?
- Nein: Animieren Sie mehrere Properties?
- Ja: Sind die Eigenschaften völlig unabhängig voneinander?
- Ja:
animate*AsState
. Verwenden Sie für TextTextMotion.Animated
. - Nein: Müssen sie gleichzeitig beginnen?
- Ja:
updateTransition
mitAnimatedVisibility
,animateFloat
,animateInt
usw. - Nein:
Animatable
mitanimateTo
, mit unterschiedlichen Zeiträumen aufgerufen mithilfe von Pausierungsfunktionen.
- Ja:
- Ja:
- Nein: Hat die Animation vordefinierte Zielwerte?
- Ja:
animate*AsState
. Verwenden Sie für TextTextMotion.Animated
. - Nein: Ist die Animation gestengesteuert und die einzige Datenquelle?
- Ja:
Animatable
mitanimateTo
/snapTo
- Nein: Ist es eine einmalige Animation ohne Statusverwaltung?
- Ja:
AnimationState
oderanimate
. - Nein: Antwort nicht hier? Funktionsanfrage stellen
- Ja:
- Ja:
- Ja:
- Ja: Sind die Eigenschaften völlig unabhängig voneinander?
- Ja: Wechseln Sie zwischen Komponenten mit unterschiedlichen Inhalten?
- Ja:
- Ja: Werden einfache SVGs verwendet, also ein Symbol mit Mikroanimationen?
PDF-Version des Diagramms herunterladen