2010-04-02 10 views

Antwort

26

Grundsätzlich sind neben den (ziemlich schmerzhaft) Rahmen/Tween-Animationen gibt es Layout-Animationen, Ansicht Animationen und Übergangsanimationen. Layoutanimationen werden ausgelöst, wenn ein Element angezeigt wird, entweder beim ersten Aktivitätslayout oder wenn Sie eine Ansicht auf "Sichtbar" setzen, und bei einer neuen Aktivität eine Übergangsanimation. Standardanimationsanimationen sind die flexiblen flexiblen Animationen, die Sie pro Ansicht/Layout erstellen können, benötigen aber ein wenig mehr Arbeit (außerhalb der XML-Definitionen sind Aktivitäts- und Layoutanimationen im Allgemeinen Einzeiler).

Es gibt auch hilfreiche Klassen wie ViewFlipper, um das Arbeiten mit einigen der Animationen zu erleichtern. Überprüfen Sie die Android-API-Demos-Anwendung, die mit dem SDK geliefert wird (Dokumentation here). Einfache Ansichtsanimationen sind in this class, Übergänge in this class, und einige komplexere Beispiele here (es gibt ein Layout-Animationsbeispiel in der 2.0 API Demo-App, aber ich kann es nicht in den Online-Dokumenten finden). Sehen Sie sich auch die entsprechenden XML-Dateien für die Demos in res/anim an. Die Spezifikation für Animations-XML in der Dokumentation ist ein wenig spärlich, aber es gibt viele gute Beispiele in den API-Demos und dem Android-Quellcode. Sie können XML verwenden, um sowohl die Art der Übergänge (Überblenden, Scrollen usw.) als auch die Interpolationen (Beschleunigen, Überschwingen usw.) anzupassen, was eine ziemlich große Menge an Energie liefert (genug, um die meisten Anwendungsfälle abzudecken). Die AnimationUtils Klasse kann auch sehr hilfreich sein. Ein schneller grep durch den Android-System-Quellcode sollte Ihnen einige gute Arbeitsmaterial für alle oben genannten geben. Diese Ressourcen sollten ausreichen, um Ihnen den Einstieg zu erleichtern. Viel Glück!

ADDENDUM (5/2011): Es gibt auch das (nur 3.0+) System property animation, das wirklich cool ist, weil Sie damit beliebige Eigenschaften in benutzerdefinierten Ansichten animieren können; Wenn Sie keine 3.0-spezifische App schreiben, müssen Sie warten, bevor Sie sie verwenden.

+1

Wenn Sie auf <3,0 ausgerichtet sind, sollten Sie sich die ausgezeichnete NineOldAndroid-Bibliothek ansehen. http://nineoldandroids.com/ – irwinb

+1

Definitiv. Aber Vorsicht: AFAIK irgendwelche Eigentumsanimationen, die sie nicht mit dem alten System fälschen können, werden einfach ignoriert, und sogar einige, die es fälschen kann, werden weniger elegant aussehen, wenn sie die alten Systemkompatibilitätskonvertierungen verwenden (insbesondere Größenanimationen mit Inhalt um den Größenanpassung der Ansicht - dies ist nur eine Einschränkung der Implementierung des alten Systems, die nur die Zeichnung der Ansichten und nicht ihre tatsächlichen Dimensionen ändert. –