思路:
将Drawable里面的xml文件设置为ImageView的背景资源,
然后再讲ImageView的背景资源转换成AnimationDrawable对象。
对AnimationDrawable对象进行操作(开始或者终止)。
java源码:
public class Test_1Activity extends Activity {
private Button btn;
private ImageView iv;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
this.setupButton();
}
private void setupButton() {
btn = (Button) this.findViewById(R.id.btn);
btn.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
parentButtonclicked(v);
}
});
}
private void parentButtonclicked(View v) {
animate();
}
private void animate() {
iv = (ImageView) findViewById(R.id.animationImage);
iv.setVisibility(ImageView.VISIBLE);
iv.setBackgroundResource(R.drawable.frame_animation); //将Drawable里面的xml文件设置为ImageView的背景资源,
AnimationDrawable frameAnimation = (AnimationDrawable) iv.getBackground();//然后再讲ImageView的背景资源转换成AnimationDrawable对象,方便控制。
if (frameAnimation.isRunning()) {
frameAnimation.stop();
}
else {
frameAnimation.stop();
frameAnimation.start();
}
}
}
布局文件:
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
>
<TextView android:id="@+id/tv"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Debug scratch Pad"/>
<Button android:id="@+id/btn"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:text="Start Animation"/>
<ImageView android:id="@+id/animationImage"
android:layout_width="fill_parent"
android:layout_height="wrap_content"/>
</LinearLayout>
res/drawable/frame_animation.xml:动画资源(android:duration持续时间)
<animation-list
xmlns:android="http://schemas.android.com/apk/res/android" android:oneshot="false">
<item android:drawable="@drawable/pic1" android:duration="500"/>
<item android:drawable="@drawable/pic2" android:duration="500"/>
<item android:drawable="@drawable/pic3" android:duration="500"/>
<item android:drawable="@drawable/pic4" android:duration="500"/>
</animation-list>
参考:
android 2D动画(上)
http://www.bpsky.net/t/android%202D%E5%8A%A8%E7%94%BB%EF%BC%88%E4%B8%8A%EF%BC%89.html
android 2D动画(下)
http://www.bpsky.net/t/android%202D%E5%8A%A8%E7%94%BB%EF%BC%88%E4%B8%8B%EF%BC%89.html