逐帧动画其实很简单,下面我们来看一个例子:
<?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/progress_1" android:duration="200"/> <item android:drawable="@drawable/progress_2" android:duration="200"/> <item android:drawable="@drawable/progress_3" android:duration="200"/> <item android:drawable="@drawable/progress_4" android:duration="200"/> <item android:drawable="@drawable/progress_5" android:duration="200"/> <item android:drawable="@drawable/progress_6" android:duration="200"/> <item android:drawable="@drawable/progress_7" android:duration="200"/> <item android:drawable="@drawable/progress_8" android:duration="200"/> </animation-list>
android:oneshot="false"的意思是循环播放
界面布局:<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="fill_parent" android:orientation="vertical" > <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="开始" android:onClick="start"/> <Button android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="停止" android:onClick="stop"/> <ImageView android:id="@+id/iv" android:layout_width="wrap_content" android:layout_height="wrap_content" android:background="@anim/zhuzhen" android:layout_gravity="center"/> </LinearLayout>MainActivity.java
package com.example.testanimation; import android.graphics.drawable.AnimationDrawable; import android.os.Bundle; import android.support.v7.app.ActionBarActivity; import android.view.View; import android.widget.ImageView; public class MainActivity extends ActionBarActivity { private AnimationDrawable anim; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); ImageView iv = (ImageView) findViewById(R.id.iv); anim = (AnimationDrawable) iv.getBackground(); } public void start(View view){ anim.start(); } public void stop(View view){ anim.stop(); } }运行效果: