Animation in der mobilen Entwicklung: Was es ist, welche Arten es gibt und wie man sie nutzt

Autor: IT Sectr Veröffentlicht: 2026-02-26 Lesezeit: 10 Min.

Animation in mobilen Apps macht sie lebendig und reaktionsschnell, lenkt die Aufmerksamkeit des Benutzers und verbessert die Wahrnehmung der Benutzeroberfläche. In diesem Artikel werden wir die wichtigsten Animationsarten in iOS und Android behandeln: Property Animation, View Animation, UIKit Dynamics, Core Animation, Lottie, Rive, Spring Animation, Hero Animation und Shared Element Transition. Das Material hilft Anfängern zu verstehen, welche Werkzeuge und Bibliotheken für eine bestimmte Aufgabe ausgewählt werden sollten. Weitere Details — in der offiziellen Android Animations Dokumentation.

Wesentliches

  • Property Animation (Android) ändert reale Objekteigenschaften, View Animation — nur die visuelle Darstellung
  • Core Animation und UIView.animate (iOS) bieten integrierte Möglichkeiten zum Animieren von Ebenen und Ansichten
  • Lottie und Rive ermöglichen das Einbetten komplexer Vektoranimationen aus After Effects und Rive Editor
  • Hero Animation (Shared Element Transition) erzeugt fließende Übergänge zwischen Bildschirmen
  • Spring Animation mit Federphysik und Easing (Interpolator) machen Animationen natürlich

Animation in Android: Property Animation und View Animation

Android bietet zwei Hauptanimationssysteme: View Animation (veraltet) und Property Animation (modern). View Animation (oder Tween Animation) arbeitet nur mit der visuellen Darstellung — sie ändert die Anzeige der View, aber nicht ihre tatsächlichen Eigenschaften (z. B. bleiben die Klickkoordinaten an Ort und Stelle). Property Animation, eingeführt in Android 3.0, ändert reale Objekteigenschaften über Animator — ValueAnimator, ObjectAnimator oder AnimatorSet.

ObjectAnimator und ValueAnimator

ObjectAnimator ist die beliebteste Klasse der Property Animation. Sie animiert eine bestimmte Objekteigenschaft (z. B. translationX, alpha, scaleY) über eine angegebene Zeit mit einem bestimmten Interpolator.

kotlin
ObjectAnimator.ofFloat(myView, "translationX", 0f, 300f).apply {
    duration = 500
    interpolator = FastOutSlowInInterpolator()
    startDelay = 200
}.start()

ValueAnimator ist nicht an ein bestimmtes Objekt gebunden — er generiert Werte, die für jede Eigenschaft oder benutzerdefinierte Logik verwendet werden können.

View Animation und XML-Animationen

View Animation wird in XML-Dateien res/anim/ beschrieben. Vier Typen werden unterstützt: scale, translate, rotate, alpha. Der Nachteil ist, dass die Animation keine realen View-Parameter ändert. Für einfache Effekte (Blinken, Drehen) ist View Animation immer noch anwendbar, aber für neue Projekte wird Property Animation empfohlen.

Animation in Jetpack Compose

Jetpack Compose bietet eine moderne Animations-API: animateAsState, Animatable, AnimatedVisibility und AnimatedContent. Animation in Compose ist reaktiv: Wenn sich der Zustand ändert, startet die Animation automatisch.

kotlin
var expanded = remember { mutableStateOf(false) }
val size = animateAsState(
    if (expanded) 200f else 50f
)
Box(
    modifier = Modifier
        .size(size.value, size.value)
        .clickable { expanded = !expanded }
        .background(Color.Blue)
)

Animation in iOS: Core Animation und UIView.animate

iOS bietet einen leistungsstarken Animations-Stack basierend auf Core Animation — einem Low-Level-Framework, das mit CALayer arbeitet. UIKit baut auf Core Animation mit praktischen UIView.animate- und UIViewPropertyAnimator-Methoden auf.

UIView.animate

UIView.animate ist der einfachste Weg, in iOS zu animieren. Ermöglicht das Animieren von frame, alpha, transform, backgroundColor und anderen UIView-Eigenschaften.

swift
UIView.animate(
    withDuration: 0.5,
    delay: 0.2,
    usingSpringWithDamping: 0.6,
    initialSpringVelocity: 1.0,
    options: [.curveEaseInOut]
) {
    myView.frame.origin.x += 300
    myView.alpha = 0.5
}

UIKit Dynamics

UIKit Dynamics — ein Framework für physikalische Animationen: Schwerkraft, Kollisionen, Federn, Anziehungskräfte. Ermöglicht die Erstellung realistischen Objektverhaltens ohne manuelle Physikberechnung. Wird für benutzerdefinierte Übergänge, animierte Menüs und Spielelemente verwendet.

CAAnimation und Core Animation

Core Animation (CAAnimation, CABasicAnimation, CAKeyframeAnimation) — eine Low-Level-API für CALayer-Animation. Unterstützt 3D-Transformationen, Pfadanimation (Keyframe), Maskierung und Komposition. SwiftUI verwendet Core Animation unter der Haube durch die Modifikatoren animation und withAnimation.

swift
let animation = CABasicAnimation(keyPath: "transform.rotation.z")
animation.fromValue = 0
animation.toValue = CGFloat.pi * 2
animation.duration = 1.0
animation.repeatCount = .infinity
myLayer.add(animation, forKey: "rotation")

Für die meisten iOS-Projekte wird SwiftUI mit seiner integrierten Animation verwendet. Zum Beispiel withAnimation kapselt Zustandsänderungen in einen animierten Kontext.

Vektoranimation: Lottie und Rive

Komplexe Animationen (Figuren, Übergänge, Ladeanzeigen) sind mit Code schwer zu implementieren. Lottie und Rive lösen dieses Problem, indem sie Designern ermöglichen, Animationen in visuellen Editoren zu erstellen und Entwicklern, sie als fertige Komponente in die App einzubetten.

Lottie

Lottie — eine Bibliothek von Airbnb (jetzt LottieFiles), die Animationen aus Adobe After Effects rendert, die im JSON-Format exportiert wurden. Unterstützt auf Android, iOS, Flutter, React Native und Web. Lottie-Animationen sind vektorbasiert, skalieren ohne Qualitätsverlust und können programmgesteuert angepasst werden (Geschwindigkeit, Fortschritt, Farben).

kotlin
// Android
import com.airbnb.lottie.LottieAnimationView
val lottieView = findViewById<LottieAnimationView>(R.id.lottieView)
lottieView.setAnimation(R.raw.loading_animation)
lottieView.playAnimation()

Rive

Rive (früher 2Dimensions) — ein fortschrittlicheres Werkzeug für Vektoranimationen. Im Gegensatz zu Lottie unterstützt Rive interaktive Animationen: Zustände, Auslöser, Übergänge. Die Animation wird im Rive Editor erstellt und in der App über eine State Machine gesteuert. Rive eignet sich für Spieloberflächen, animierte Symbole und komplexe Übergänge mit Rückmeldung.

Bei IT Sectr verwenden wir Lottie für dekorative Animationen (Ladeanzeigen, erfolgreiche Vorgänge, leere Zustände) und Rive für interaktive Elemente von Onboarding-Bildschirmen. Dies reduziert die Entwicklungszeit für Animationen um 60% im Vergleich zur manuellen Implementierung mit UIKit oder Canvas.

Shared Element Transition und Hero Animation

Shared Element Transition — eine Animation, bei der ein Element (Bild, Text, Karte) beim Übergang zwischen Bildschirmen sanft bewegt und transformiert wird. Dies erzeugt die Illusion von Kontinuität: Der Benutzer "geht" nicht zu einem neuen Bildschirm, sondern "taucht" in das Element ein.

Android Shared Element Transition

In Android wird der Übergang über ActivityOptionsCompat und transitionName-Attribute implementiert. FragmentTransaction unterstützt addSharedElement für Übergänge innerhalb einer Activity. Compose verwendet SharedTransitionLayout mit SharedContentState.

iOS Hero Transition

iOS hat keinen eingebauten Hero Transition, aber die Bibliothek Hero (von Luke Zhao) implementiert dieses Muster auf UIKit. Weisen Sie einfach eine ID zu Elementen auf beiden Bildschirmen zu — Hero erstellt automatisch einen fließenden Übergang. In SwiftUI ist die Übergangsanimation in NavigationStack und matchedGeometryEffect integriert.

Flutter Hero

Flutter hat ein eingebautes Hero-Widget mit einem tag-Parameter. Wenn zwei Seiten Hero mit demselben Tag enthalten, animiert Flutter automatisch den Übergang zwischen ihnen. Dies ist eine der einfachsten Möglichkeiten, komplexe Animationen in einer mobilen Anwendung zu implementieren.

dart
Hero(
    tag: 'profile_avatar',
    child: CircleAvatar(
        backgroundImage: AssetImage('avatar.jpg'),
        radius: 50,
    ),
)

Spring Animation, Interpolator und Easing

Damit eine Animation natürlich aussieht, werden Geschwindigkeitskurven verwendet — Interpolator in Android und Easing in iOS. Sie bestimmen, wie sich die Animationsgeschwindigkeit von Anfang bis Ende ändert.

Android Interpolators

Android unterstützt mehrere eingebaute Interpolatoren: LinearInterpolator (gleichmäßig), AccelerateDecelerateInterpolator (langsam-schnell-langsam), FastOutSlowInInterpolator (Material Design), OvershootInterpolator (mit Überschwingen) und BounceInterpolator (mit Zurückfedern). Ein benutzerdefinierter Interpolator kann über XML oder die TimeInterpolator-Klasse erstellt werden.

Interpolator Verhalten Anwendung
LinearInterpolatorKonstante GeschwindigkeitLadeanzeigen, endlose Drehungen
FastOutSlowInInterpolatorSchneller Start, sanftes EndeMaterial Design, Karteneinblendung
OvershootInterpolatorÜberschwingen und ZurückkehrenAkzentelemente, Schaltflächen
BounceInterpolatorZurückfedern am EndeListen, Pull-to-Refresh

Spring Animation

Spring Animation (Federanimation) modelliert die Federphysik mit den Parametern Dämpfung (damping) und Steifigkeit (stiffness). Dämpfung 0 — unendliche Schwingungen, 1 — keine Schwingungen. Steifigkeit bestimmt die Rücklaufgeschwindigkeit. Spring Animation ist verfügbar in iOS (UIViewPropertyAnimator mit UISpringTimingParameters), Android (SpringAnimation aus physics2) und SwiftUI (spring()).

Die Dokumentation Spring Animation in Android enthält detaillierte Konfigurationsbeispiele.

Zeitleisten-Animation

Timeline (Zeitleiste) — ein Ansatz, bei dem die Animation in zeitliche Frames aufgeteilt wird. Wird für komplexe Sequenzen verwendet, bei denen AnimationSet oder Group-Animation nicht flexibel genug sind. Android unterstützt AnimatorSet, iOS — CAAnimationGroup, Flutter — Interval in AnimationController.

Часто задаваемые вопросы

Was ist der Unterschied zwischen Property Animation und View Animation?

View Animation (Android) ändert nur die visuelle Darstellung einer View, ohne die tatsächlichen Eigenschaften zu ändern (die Klickposition ändert sich nicht). Property Animation ändert die tatsächlichen Objekteigenschaften, was ein flexibleres und vorhersagbareres Verhalten ermöglicht. Für neue Projekte verwenden Sie immer Property Animation.

Was ist Hero Animation?

Hero Animation ist eine Animation, bei der ein Element beim Übergang zwischen Bildschirmen sanft bewegt und transformiert wird, was die Illusion von Kontinuität erzeugt. Implementiert durch Hero (Flutter), SharedElementTransition (Android) oder matchedGeometryEffect (SwiftUI).

Wofür werden Lottie und Rive benötigt?

Lottie und Rive sind Bibliotheken zum Rendern von Vektoranimationen zur Laufzeit. Der Designer erstellt die Animation in After Effects (Lottie) oder Rive Editor, exportiert sie als JSON, und der Entwickler bettet sie ein, ohne Animationscode manuell schreiben zu müssen.

Was ist Spring Animation und warum ist sie nützlich?

Spring Animation modelliert die Federphysik: Die Animation hat eine natürliche Dämpfung und "Federrücklauf". SwiftUI und Jetpack Compose unterstützen Spring-Animationen von Haus aus, was die Oberfläche lebendiger und reaktionsschneller macht.

Wie wählt man den richtigen Interpolator?

Die Wahl hängt vom Kontext ab: FastOutSlowIn — für das Erscheinen von Elementen, Overshoot — für Akzente, Linear — für Ladeanzeigen, Bounce — für Listen. Material Design empfiehlt Standardkurven: standard easing, deceleration easing und acceleration easing.

Zusammenfassung

  • Property Animation (Android ObjectAnimator) — moderner Standard, der View Animation ersetzt
  • iOS verwendet UIView.animate und Core Animation zur Animationssteuerung auf Layer-Ebene
  • Lottie und Rive vereinfachen die Einbettung komplexer Vektoranimationen aus Design-Tools
  • Hero Animation (Shared Element Transition) verbessert die Navigationswahrnehmung zwischen Bildschirmen
  • Spring Animation und die richtige Wahl von Interpolator / Easing machen Animationen natürlich
  • Flutter bietet ein eingebautes Hero-Widget für Übergänge und AnimationController für benutzerdefinierte Animationen
  • Jetpack Compose und SwiftUI haben eingebaute reaktive Animationen durch animateAsState und withAnimation

Wir entwickeln eine mobile Applikation schlüsselfertig

IT Sectr entwickelt seit 2017 iOS- und Android-Apps für Startups und Unternehmen. Wir beraten Sie und schlagen die beste Lösung vor.

Projekt besprechen