Flutter Animation: Easy Way of Learning the Flutter Implicit Animation Widgets Pt. 1
Flutter Animation Widgets
Implizite Widgets: Widgets, die von vornherein animiert werden können – Widgets wie AnimatedContainer
, Hero
, FadeTransition
.
Explizite Widgets: Hier definieren Sie explizit, wie Ihre Animations-Widgets aussehen oder sich verhalten sollen, indem Sie Animator
, AnimationController
, Tween
und mehr verwenden.
In diesem Artikel werden wir uns darauf konzentrieren, wie sich die impliziten Animations-Widgets von Flutter verhalten, wie sie implementiert werden und wo wir sie anwenden können.
Das Muster…
Ich möchte damit beginnen, das Muster für die Verwendung implizit animierter Widgets aufzuzeigen. Wenn nicht alle, so doch die meisten der Widgets, die wir hier besprechen werden, werden einen ähnlichen Aufbau haben.
Das Muster 101:
- Definieren der spezifischen Eigenschaften, die für die Auslösung der Animation des Widgets verantwortlich sind.
- Erstellen Sie das AnimatedSomethingWidget mit den definierten Eigenschaften wie
height
,width
. - Starten Sie die Animation, indem Sie das Widget neu aufbauen, was bei UIs meist mit
setState()
geschieht, wobei die neuen Werte den definierten Eigenschaften zugewiesen werden. In diesem Artikel werde ich dies als „Auslöser“ für die Animation bezeichnen.
Darüber hinaus werde ich die Widgets nach ihrer Einrichtungskomplexität kategorisieren (Serie Pt. 1: Einfach, Serie Pt. 2: Mittel und Fortgeschritten) – Quellcode unten verfügbar.
AnimatedContainer
Die Klasse Container
hilft bei der Erstellung eines Widgets mit spezifischen Eigenschaften wie height
, width
, color
und mehr. Sie wird häufig für das Wrapping von untergeordneten Widgets verwendet, um deren Eigenschaften wie Größen, Abstände und Ränder bequem zu verwalten.
Mit der Klasse AnimatedContainer
können Sie ein normales Container
animieren, indem Sie einfach seine Eigenschaften ändern. Es überträgt automatisch die Farbe, die Größen, ohne dass Sie explizit benutzerdefinierte Tweens oder Controller einstellen müssen.
Setup
- Erstellen Sie die Standardeigenschaften des Widgets.
- Erstelle ein
AnimationContainer
mit den Eigenschaften. - Starte die Animation, indem du das Widget mit den neuen Eigenschaften neu erstellst.
Auslöser
- Abmessungen/Größen (z. B.
height
,width
,borderRadius
,padding
) - Farben, Form und mehr!
Weitere Optimierungen
Du kannst auch die optionale curve
einstellen, um die Animation basierend auf den von dir eingestellten Konfigurationen flüssiger zu gestalten.
AnimatedContainer(
curve: Curves.bounceInOut,
...
)