Animationen können visuelle Hinweise hinzufügen, die Nutzer darüber informieren, was in Ihrem Sie sind besonders nützlich, wenn sich der Status der Benutzeroberfläche ändert, z. B. wenn neue oder neue Aktionen verfügbar sind. Animationen fügen außerdem auf Ihre App, wodurch sie ein qualitativ hochwertigeres Erscheinungsbild erhält.
Android bietet verschiedene Animations-APIs, je nachdem, welche Art von Animation ganz nach Ihren Vorstellungen. Diese Dokumentation bietet einen Überblick über die verschiedenen Möglichkeiten, der Benutzeroberfläche Bewegungselemente hinzufügen.
Weitere Informationen dazu, wann Sie Animationen verwenden sollten, finden Sie im Material Design-Leitfaden zu Bewegung.
Bitmaps animieren
Abbildung 1. Ein animiertes Drawable.
Um eine Bitmapgrafik wie ein Symbol oder eine Illustration zu animieren, verwende das Drawable Animations-APIs. Normalerweise werden diese Animationen statisch mit einem Drawable-Element Ressource, Sie können aber auch das Animationsverhalten während der Laufzeit definieren.
Eine gute Möglichkeit, Nutzern zu vermitteln, dass zwei Aktionen zusammenhängen, ist beispielsweise die Animation einer Wiedergabeschaltfläche, die sich bei Berührung in eine Pausenschaltfläche verwandelt.
Weitere Informationen finden Sie unter Drawable-Grafiken animieren.
Sichtbarkeit und Bewegung der Benutzeroberfläche animieren
Abbildung 2. Eine dezente Animation beim Ein- und Ausblenden eines Dialogfelds sorgt für eine weniger abrupte Änderung der Benutzeroberfläche.
Wenn Sie die Sichtbarkeit oder Position von Ansichten in Ihrem Layout ändern müssen, sollten Sie dezente Animationen verwenden, damit Nutzer verstehen, wie sich die Benutzeroberfläche ändert.
Um Ansichten innerhalb des aktuellen Layouts zu verschieben, anzuzeigen oder auszublenden, können Sie die Elemente
Das Eigenschaftsanimationssystem des android.animation
-Pakets, das in Android 3.0 verfügbar ist
(API-Level 11) und höher. Diese APIs aktualisieren die Attribute Ihrer View
-Objekte über einen bestimmten Zeitraum kontinuierlich.
die Ansicht neu zeichnen, wenn sich die Eigenschaften ändern. Wenn Sie beispielsweise die Positionierungseigenschaften ändern, bewegt sich die Ansicht über den Bildschirm. Wenn Sie das Alphaattribut ändern, wird die Ansicht eingeblendet oder ausgeblendet.
Die einfachste Möglichkeit, diese Animationen zu erstellen, besteht darin, Animationen für Ihr Layout zu aktivieren. Wenn Sie dann die Sichtbarkeit einer Ansicht ändern, wird automatisch eine Animation angewendet. Weitere Informationen finden Sie unter Layoutänderungen automatisch animieren.
Informationen zum Erstellen von Animationen mit dem Eigenschaftsanimationssystem finden Sie im Property-Animation Ich können auch die folgenden Seiten zum Erstellen gängiger Animationen aufrufen:
Physikbasierte Bewegung
Abbildung 3 Mit ObjectAnimator erstellte Animation.
Abbildung 4 Animation mit physikbasierten APIs
Wenden Sie bei Ihren Animationen nach Möglichkeit die physikalischen Elemente aus der realen Welt an, damit sie natürlich aussehen. So sollten sie beispielsweise den Schwung beibehalten, wenn sich ihr Ziel ändert, und bei allen Änderungen reibungslose Übergänge vornehmen.
Um diese Verhaltensweisen zu ermöglichen, enthält die Android Support Library physikbasierte Animations-APIs, die sich auf die Gesetze der Physik stützen, um zu steuern, wie Ihre Animationen auftreten.
Zwei gängige physikbasierte Animationen sind:
Nicht physikbasierte Animationen, z. B. solche, die mit ObjectAnimator
APIs erstellt wurden, sind relativ statisch und haben eine feste Dauer. Wenn sich der Zielwert ändert, müssen Sie die Animation bei
den Zeitpunkt der Änderung des Zielwerts an, konfigurieren Sie die Animation neu, indem Sie
den neuen Startwert und
fügen den neuen Zielwert hinzu. Visuell führt dieser Vorgang zu einem abrupten Stopp der Animation und einer unzusammenhängenden Bewegung danach, wie in Abbildung 3 dargestellt.
Animationen, die mit physikbasierten Animations-APIs erstellt werden, z. B.
DynamicAnimation
, basieren auf
Kraft. Die Änderung des Zielwerts führt zu einer Änderung der Kraft. Das neue
Kraft wirkt sich auf die bestehende Geschwindigkeit aus, was einen kontinuierlichen Übergang zur
das neue Ziel. Dieser Prozess führt zu einer natürlicher aussehenden Animation, da
wie in Abbildung 4 dargestellt.
Layoutänderungen animieren
Abbildung 5. Eine Animation zur Darstellung weiterer Details kann indem Sie entweder das Layout ändern oder eine neue Aktivität starten.
Unter Android 4.4 (API-Level 19) und höher können Sie das Umstellungs-Framework verwenden. um Animationen zu erstellen, wenn Sie das Layout innerhalb der aktuellen Aktivität oder Fragment. Sie müssen lediglich das Anfangs- und das End-Layout angeben und Art der Animation, die Sie verwenden möchten. Das System ermittelt dann eine Animation zwischen den beiden Layouts und führt sie aus. Damit können Sie die gesamte Benutzeroberfläche einige Ansichten verschieben oder ersetzen.
Wenn Nutzende beispielsweise auf ein Element tippen, um weitere Informationen zu sehen, können Sie das Layout mit den Elementdetails. Dabei wird ein Übergang wie Abbildung 5.
Das Start- und Endlayout werden jeweils in einer Scene
gespeichert. Die Startszene wird jedoch normalerweise automatisch aus dem aktuellen Layout ermittelt. Sie erstellen ein Transition
, um dem System mitzuteilen, welche Art von Animation Sie wünschen, und rufen dann TransitionManager.go()
auf. Das System führt dann die Animation aus, um die Layouts zu wechseln.
Weitere Informationen finden Sie unter Layoutänderungen mit einem Übergang animieren. Beispielcode finden Sie unter BasicTransition.
Zwischen Aktivitäten animieren
Unter Android 5.0 (API-Level 21) und höher können Sie auch Animationen erstellen, die den Übergang zwischen Ihren Aktivitäten darstellen. Dies basiert auf demselben Übergang wie im vorherigen Abschnitt beschrieben. Sie können aber zwischen Layouts in separaten Aktivitäten wechseln.
Sie können einfache Animationen wie das seitliche Einblenden oder das Einblenden per Aufhellung verwenden. Sie können aber auch Animationen erstellen, die zwischen den geteilten Ansichten in den einzelnen Aktivitäten wechseln. Beispiel: Wenn Nutzende auf ein Element tippen, erhalten Sie weitere Informationen, können Sie zu einer neuen Aktivität übergehen, das Element nahtlos erweitert, sodass es den Bildschirm ausfüllt, wie die Animation in Abbildung 5.
Wie gewohnt rufen Sie
startActivity()
,
sondern ein Bundle von Optionen übergeben,
ActivityOptions.makeSceneTransitionAnimation()
Dieses Paket von Optionen kann beinhalten, welche Ansichten zwischen den
Aktivitäten, damit das Übergangs-Framework sie während der Animation verbinden kann.
Weitere Ressourcen finden Sie hier: