2015-03-16 20 views
7

Potrzebowałem prostej animacji, która pokazuje ładowanie 3 kropek. Stworzyłem więc 3 obrazy, dodałem je do listy animacji i ustawiłem na podgląd obrazu. To działało dobrze do kitkatu, ale po aktualizacji systemu operacyjnego do Lollipopa animacja nie działa.Lista animacji nie działa w systemie 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> 

ten sposób jego zestaw do 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" /> 

Czy istnieje pewne zmiany dotyczące animacja w Androidzie 5.0 Lollipop?

Odpowiedz

16

Z documentation dla AnimationDrawable,

Najprostszym sposobem utworzenia animacji klatka po klatce jest określenie animacji w pliku XML, umieszczone w folderze res/drawable/ i ustawić go jako tło do obiektu View. Następnie zadzwoń pod numer start(), aby uruchomić animację.

Aby uruchomić animację, należy zadzwonić pod numer start().

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

Wielkie dzięki! To wydaje się być rozwiązaniem. Ale wciąż jestem ciekawy, dlaczego nie musiałem bezpośrednio uruchamiać animacji do wersji Kitkat? –

+3

Wystąpił błąd w 'AnimationDrawable', gdzie zmiana widoczności zawsze rozpoczyna animację. Nie było to zauważalne, dopóki nie zaczęliśmy używać 'AnimationDrawable' dla rzeczy, które nie były spinnerami postępu, np. pole wyboru i animacje przycisków radiowych w temacie Materiał. – alanv

+1

Wielkie dzięki! Zawsze zakładałem jego funkcję :) –

Powiązane problemy