Das folgende Diagramm hilft Ihnen bei der Entscheidung, welche API Sie für die Implementierung Ihrer Animation verwenden sollten.
Anhand der Fragen im Entscheidungsbaum unten können Sie auswählen, welche Animations-API für Ihren Anwendungsfall am besten geeignet ist:
- Ist meine Animation eher Kunst, die aus vielen visuellen Elementen besteht, z.B. SVGs oder Bildern?
- Ja: Enthält es einfache SVGs, also Symbole mit Mikroanimationen?
- Ja:
AnimatedVectorDrawable
- Nein: Animations-Framework eines Drittanbieters, z.B.
Lottie
- Ja:
- Nein: Muss es sich unendlich wiederholen?
- Ja:
rememberInfiniteTransition
- Nein: Ist das eine Layoutanimation?
- Ja: Zwischen mehreren Composeable-Elementen 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? (z. B. „offset“, „padding“)
- Ja: Siehe „Sind die Properties völlig unabhängig voneinander?“
- Nein: Animationen für Listenelemente?
- Ja:
animateItemPlacement()
(Neu anordnen und Löschen bald verfügbar)
- Ja:
- Ja:
- Ja:
- Ja: Mit navigation-compose?
- Nein: Müssen mehrere Properties animiert werden?
- Ja: Sind die Eigenschaften völlig unabhängig voneinander?
- Ja:
animate*AsState
, für TextTextMotion.Animated
- Nein: Zur selben Zeit beginnen?
- 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 Eigenschaften völlig unabhängig voneinander?
- Ja: Zwischen mehreren Composeable-Elementen mit unterschiedlichen Inhalten wechseln?
- Ja:
- Ja: Enthält es einfache SVGs, also Symbole mit Mikroanimationen?
PDF-Version des Diagramms herunterladen