android逐帧动画

  Frame动画 其实就是逐帧动画,用法也比Tween动画简单,只需要创建一个AnimationDrawable对象来表示Frame动画,然后通过addFrame方法把每一帧要显示的内容加进去就行了,最后通过start方法就可以播放这个动画了,通过还可以使用

        setOneShot()方法 来设置动画是否重复播放。
       再这里,还需要设置图片的所在位置,首先要在res/anim目录下创建一个xml配置文件,用于存放图片资源的索引,配置的是

        一个以根原素和子元素

       下面用步来实现这个Frame动画

       第一步:直接继承Activity,使用列表来实现

 
 
 
 


第二步:
res/anim/birthday.xml

 
 
 
 
 
 
 
 
 
 
 
 
第三步:
FramesActivity.java

package eoe.frames; 


import android.app.Activity; 
import android.graphics.drawable.AnimationDrawable; 
import android.os.Bundle; 
import android.view.View; 
import android.widget.Button; 
import android.widget.ImageView; 


public class FramesActivity extends Activity { 
private AnimationDrawable frameanim; 
private Button start,stop; 
private ImageView img; 


@Override 
public void onCreate(Bundle savedInstanceState) { 
super.onCreate(savedInstanceState); 
setContentView(R.layout.main); 
img = (ImageView)findViewById(R.id.imgview); 
start = (Button)findViewById(R.id.start); 
stop = (Button)findViewById(R.id.stop); 
//获得背景色,并转换为AnimationDrawable对象 
frameanim = (AnimationDrawable)img.getBackground(); 

//为按钮添加监听事件 
start.setOnClickListener(new Button.OnClickListener() 
{ 


@Override 
public void onClick(View v) { 
//开始动画 
frameanim.start(); 
} 
}); 
stop.setOnClickListener(new Button.OnClickListener() 
{ 


@Override 
public void onClick(View v) { 
// 停止动画 
frameanim.stop(); 
} 
}); 
} 
} 


你可能感兴趣的:(android)