本例完全参照androidAPI文档上面来写的,哈哈。
步骤:
1. 在res目录下的drawable目录下创建frame-by-frame animation xml文件。
2. 在这个xml文件中只有两个元素,一个是<animation-list>,另一个<item>,意思一目了然,这里不多解释了。
3. 为控件设置backgroundResource
4. 获取background,并转换成AnimationDrawable
5. 调用AnimationDrawable的start方法来启动动画
话不多说,代码如下:
步骤:
1. 在res目录下的drawable目录下创建frame-by-frame animation xml文件。
2. 在这个xml文件中只有两个元素,一个是<animation-list>,另一个<item>,意思一目了然,这里不多解释了。
3. 为控件设置backgroundResource
4. 获取background,并转换成AnimationDrawable
5. 调用AnimationDrawable的start方法来启动动画
话不多说,代码如下:
package com.kevin.frame;
import android.app.Activity;
import android.graphics.drawable.AnimationDrawable;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.ImageView;
public class FrameDemo extends Activity {
private ImageView img;
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
img = (ImageView)findViewById(R.id.imageView1);
// 设置控件的背景资源
img.setBackgroundResource(R.drawable.dance);
img.setOnClickListener(new ImgOnClickListner());
}
class ImgOnClickListner implements OnClickListener{
@Override
public void onClick(View v) {
// 获取背景,并转换成AnimationDrawable
AnimationDrawable frameAnimation = (AnimationDrawable)img.getBackground();
// 启动动画
frameAnimation.start();
}
}
}