First, create 2 (or more) layer list resources, i.e. * layer_frame1.xml * and * layer_frame2.xml *, where you set your frames. In your case, let's change the android: top of the disk element.
Then create an animation list resource in which you set the time and frame order:
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false"> <item android:drawable="@drawable/layer_frame1" android:duration="100"/> <item android:drawable="@drawable/layer_frame2" android:duration="100"/> </animation-list>
Save it in a file, i.e. * drawable / player_animation.xml * and set it as the background in the view
<View android:id="@+id/animation_test" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@drawable/player_animation" />
Finally, in your code, just say when you want to start the animation.
((AnimationDrawable)findViewById(R.id.animation_test).getBackground()).start();
Beware don't run the animation inside the onCreate () method.
sotcha
source share