import android.content.Context; import android.graphics.drawable.AnimationDrawable; import android.view.KeyEvent; import android.view.View; import android.widget.ImageView; /** * @version 2012-8-21 下午03:01:24 **/ public class GameView extends View { // 定义AnimationDrawable private AnimationDrawable mAnimationDrawable = null; Context context; public GameView(Context context) { super(context); this.context = context; // 定义一个动画布局文件 ImageView img = new ImageView(context); // 装载动画布局文件 img.setBackgroundResource(R.anim.frame); // 构建动画 mAnimationDrawable = (AnimationDrawable) img.getBackground(); // 是否循环 // mAnimationDrawable.setoneshot(false); // 设置该类显示的动画 this.setBackgroundDrawable(mAnimationDrawable); setFocusable(true); } @Override public boolean onKeyDown(int keyCode,KeyEvent event) { if(keyCode == KeyEvent.KEYCODE_DPAD_UP) { // 开始播放动画 mAnimationDrawable.start(); } return super.onKeyDown(keyCode,event); } }frame.xml
<?xml version="1.0" encoding="utf-8"?> <animation-list xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="true"><!-- android:oneshot是否循环 false循环 true 不循环 --> <item android:drawable="@drawable/a1" android:duration="500" /> <item android:drawable="@drawable/a2" android:duration="500" /> <item android:drawable="@drawable/a3" android:duration="500" /> <item android:drawable="@drawable/a4" android:duration="500" /> <item android:drawable="@drawable/a5" android:duration="500" /> <item android:drawable="@drawable/a6" android:duration="500" /> <item android:drawable="@drawable/a7" android:duration="500" /> <item android:drawable="@drawable/a8" android:duration="500" /> <item android:drawable="@drawable/a9" android:duration="500" /> <item android:drawable="@drawable/a10" android:duration="500" /> <item android:drawable="@drawable/a11" android:duration="500" /> <item android:drawable="@drawable/a12" android:duration="500" /> <item android:drawable="@drawable/a13" android:duration="500" /> <item android:drawable="@drawable/a14" android:duration="500" /> <item android:drawable="@drawable/a15" android:duration="500" /> </animation-list>