2015-03-16 2 views
7

Ich brauchte eine einfache Animation, die 3 Punkte laden zeigt. Also habe ich 3 Bilder erstellt, zur Animationsliste hinzugefügt und auf imageview gesetzt. Es funktionierte gut bis kitkat, aber nach der Aktualisierung meines Betriebssystems auf Lollipop scheint die Animation nicht zu funktionieren. DieseAnimation-Liste funktioniert nicht in Android 5.0 (Lollipop)

<animation-list xmlns:android="http://schemas.android.com/apk/res/android" 
android:oneshot="false" > 

<item 
    android:drawable="@drawable/one_dot" 
    android:duration="500"/> 
<item 
    android:drawable="@drawable/two_dot" 
    android:duration="500"/> 
<item 
    android:drawable="@drawable/three_dot" 
    android:duration="500"/> 

</animation-list> 

ist, wie sein Set zum Imageview

<ImageView 
     android:id="@+id/dotsLoadingView" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:layout_below="@id/loadingText" 
     android:layout_centerHorizontal="true" 
     android:layout_marginTop="10dp" 
     android:src="@drawable/dots_loading" /> 

Gibt es eine Änderung in Bezug auf Animation in Android 5.0 Lollipop?

Antwort

16

Vom documentation für AnimationDrawable,

Der einfachste Weg, um eine Frame-by-Frame-Animation zu erstellen, ist die Animation in einer XML-Datei zu definieren, in dem Ordner res/drawable/ platziert, und legen Sie es als Hintergrund zu einem View Objekt. Rufen Sie dann start() auf, um die Animation auszuführen.

Sie müssen start() aufrufen, um die Animation auszuführen.

final ImageView myView = (ImageView) findViewById(R.id.dotsLoadingView); 
((Animatable) myView.getDrawable()).start(); 
+0

Vielen Dank !! Dies scheint die Lösung zu sein. Aber ich bin immer noch neugierig, warum ich die Animation nicht explizit bis zur Kitkat-Version starten musste? –

+3

Es gab einen Fehler in 'AnimationDrawable', bei dem das Ändern der Sichtbarkeit immer eine Animation starten würde. Dies war nicht wirklich bemerkbar, bis wir begannen, "AnimationDrawable" für Dinge zu verwenden, die keine Fortschritts-Spinner waren, z. die Kontrollkästchen und Radio-Button-Animationen im Material-Thema. – alanv

+1

Vielen Dank !! Ich habe immer angenommen, dass es ein Feature ist :) –