Das folgende Diagramm hilft Ihnen bei der Entscheidung, welche API Sie zum Implementieren Ihrer Animation verwenden sollten.
Verwenden Sie den folgenden Entscheidungsbaum, um die für Ihren Anwendungsfall am besten geeignete Animations-API auszuwählen:
- Ist Ihre Animation kunstbasiert (d. h. SVGs oder Bilder)?
- Ja: Werden einfache SVGs verwendet (d. h. ein Symbol mit Mikroanimationen)?
- Ja:
AnimatedVectorDrawable. - Nein: Animationsframework eines Drittanbieters, z. B.
Lottie.
- Ja:
- Nein: Muss die Animation unendlich oft wiederholt werden?
- Ja:
rememberInfiniteTransition. - Nein: Animieren Sie ein Layout?
- Ja: Wechseln Sie zwischen Composables mit unterschiedlichen Inhalten?
- Ja: Verwenden Sie Navigation-Compose?
- Ja:
composable()mit festgelegten Werten fürenterTransitionundexitTransition. - Nein:
AnimatedContent,CrossfadeoderPager.
- Ja:
- Nein: Animieren Sie das Ein- oder Ausblenden von Inhalten?
- Ja:
AnimatedVisibilityoderanimateFloatAsStatemitModifier.alpha(). - Nein: Animieren Sie eine Größenänderung?
- Ja:
Modifier.animateContentSize. - Nein: Animieren Sie eine andere Layout-Property (z. B. Offset oder Padding)?
- Ja: Weitere Informationen finden Sie unter Sind die Properties völlig unabhängig voneinander?
- Nein: Animieren Sie Listenelemente?
- Ja:
animateItem().
- Ja:
- Ja:
- Ja:
- Ja: Verwenden Sie Navigation-Compose?
- Nein: Animieren Sie mehrere Properties?
- Ja: Sind die Properties völlig unabhängig voneinander?
- Ja:
animate*AsState. Verwenden Sie für TextTextMotion.Animated. - Nein: Müssen sie gleichzeitig starten?
- Ja:
updateTransitionmitAnimatedVisibility,animateFloat,animateIntusw. - Nein:
AnimatablemitanimateTo, das mit unterschiedlichen Zeitpunkten mithilfe von Suspend-Funktionen aufgerufen wird.
- 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 Informationsquelle?
- Ja:
AnimatablemitanimateTo/snapTo. - Nein: Ist es eine einmalige Animation ohne Statusverwaltung?
- Ja:
AnimationStateoderanimate. - Nein: Ist die Antwort nicht dabei? Stellen Sie eine Feature Request.
- Ja:
- Ja:
- Ja:
- Ja: Sind die Properties völlig unabhängig voneinander?
- Ja: Wechseln Sie zwischen Composables mit unterschiedlichen Inhalten?
- Ja:
- Ja: Werden einfache SVGs verwendet (d. h. ein Symbol mit Mikroanimationen)?
Laden Sie die PDF-Version des Diagramms herunter.