Anhand des folgenden Diagramms können Sie entscheiden, mit welcher API Sie die Animation implementieren möchten.
Anhand der folgenden Fragen im Entscheidungsbaum können Sie auswählen, welche Animations-API für Ihren Anwendungsfall am besten geeignet ist:
- Ist meine Animation eher eine Grafik und besteht aus vielen visuellen Elementen? z.B. SVGs oder Bilder
- 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 sich unendlich wiederholen?
- Ja:
rememberInfiniteTransition
- Nein: Ist das eine Layoutanimation?
- Ja: Sie möchten zwischen mehreren zusammensetzbaren Funktionen mit unterschiedlichen Inhalten wechseln?
- Ja: Mit navigation-compose?
- Ja:
composable()
mit festgelegtenenterTransition
undexitTransition
- Nein:
AnimatedContent
,Crossfade
oderPager
- Ja:
- Nein: Animiertes Erscheinen/Verschwinden?
- Ja:
AnimatedVisibility
oderanimateFloatAsState
mitModifier.alpha()
- Nein: Größe animieren?
- Ja:
Modifier.animateContentSize
- Nein: Andere Layouteigenschaft? d. h. Offset, Padding usw.
- Ja: Siehe „Sind die Properties völlig unabhängig voneinander?“
- Nein: Animationen von Listenelementen?
- Ja:
animateItemPlacement()
(neu anordnen und löschen)
- Ja:
- Ja:
- Ja:
- Ja: Mit navigation-compose?
- Nein: Müssen mehrere Properties animiert werden?
- Ja: Sind die Unterkünfte vollständig 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
, das mit unterschiedlichen Zeiträumen aufgerufen wird (mithilfe von Pausierungsfunktionen)
- Ja: Ja:
- Ja:
- Nein: Enthält die Animation eine Reihe vordefinierter Zielwerte?
- Ja:
animate*AsState
, für TextTextMotion.Animated
verwenden - Nein: Gestengesteuerte Animation? Ist Ihre Animation die einzige Informationsquelle?
- Ja:
Animatable
mitanimateTo
/snapTo
- Nein: One-Shot-Animation ohne Statusverwaltung?
- Ja:
AnimationState
oderanimate
- Nein: Antwort nicht hier? Funktionsanfrage stellen
- Ja:
- Ja:
- Ja:
- Ja: Sind die Unterkünfte vollständig unabhängig voneinander?
- Ja: Sie möchten zwischen mehreren zusammensetzbaren Funktionen mit unterschiedlichen Inhalten wechseln?
- Ja:
- Ja: Gibt es einfache SVGs? d.h. ein Symbol mit Mikroanimationen
PDF-Version des Diagramms herunterladen