Das folgende Diagramm hilft Ihnen bei der Entscheidung, mit welcher API Sie Ihre Animation implementieren möchten.
Befolgen Sie die folgenden Fragen zum Entscheidungsbaum, um die Animations-API für Ihren Anwendungsfall am besten auszuwählen:
- Besteht meine Animation eher aus Kunst und besteht aus vielen visuellen Elementen, z.B. SVGs oder Bildern?
- Ja: Gibt es einfache SVGs, d.h. ein Symbol mit Mikroanimationen
- Ja:
AnimatedVectorDrawable
- Nein: Animations-Framework von Drittanbietern, z.B.
Lottie
- Ja:
- Nein: Muss es endlos wiederholt werden?
- Ja:
rememberInfiniteTransition
- Nein: Handelt es sich um eine Layout-Animation?
- Ja: Wechselt zwischen mehreren zusammensetzbaren Funktionen mit unterschiedlichen Inhalten?
- Ja: Mit „navigation-compose“?
- Ja:
composable()
mitenterTransition
undexitTransition
festgelegt - Nein:
AnimatedContent
,Crossfade
oderPager
- Ja:
- Nein: Darstellung / Verschwinden animieren?
- Ja:
AnimatedVisibility
oderanimateFloatAsState
mitModifier.alpha()
- Nein: Größe wird animiert?
- Ja:
Modifier.animateContentSize
- Nein: andere Layouteigenschaften, z. B. Offset, Abstand
- Ja: Siehe „Sind die Eigenschaften völlig unabhängig voneinander?“
- Nein: Animationen von Elementen auflisten?
- Ja:
animateItemPlacement()
(demnächst neu anordnen und löschen)
- Ja:
- Ja:
- Ja:
- Ja: Mit „navigation-compose“?
- Nein: Müssen mehrere Properties animiert werden?
- Ja: Sind die Properties völlig unabhängig voneinander?
- Ja:
animate*AsState
, für TextTextMotion.Animated
verwenden - Nein: Zur selben Zeit starten?
- Ja: Ja:
updateTransition
mitAnimatedVisibility
,animateFloat
,animateInt
usw. - Nein:
Animatable
mitanimateTo
mit unterschiedlichem Timing (mithilfe von Sperrfunktionen)
- Ja: Ja:
- Ja:
- Nein: Enthält die Animation vordefinierte Zielwerte?
- Ja:
animate*AsState
, für TextTextMotion.Animated
verwenden - Nein: Gestengesteuerte Animation? Ihre Animation ist die einzige Quelle der Wahrheit?
- Ja:
Animatable
mitanimateTo
/snapTo
- Nein: Einzelne Animation ohne State Management?
- Ja:
AnimationState
oderanimate
- Nein: Antwort hier nicht? Funktionsanfrage stellen
- Ja:
- Ja:
- Ja:
- Ja: Sind die Properties völlig unabhängig voneinander?
- Ja: Wechselt zwischen mehreren zusammensetzbaren Funktionen mit unterschiedlichen Inhalten?
- Ja:
- Ja: Gibt es einfache SVGs, d.h. ein Symbol mit Mikroanimationen
Laden Sie die PDF-Version des Diagramms herunter.