【功能说明】该方法用于为帧动画对象添加动画帧。该方法主要用于动态修改帧动画内容的场合,能够根据须要增长一些动画帧。ide
【基本语法】public void addFrame (Drawable frame, int duration)动画
参数说明code
frame:动画帧的Drawable对象。对象
duration:动画帧的持续时间,单位为毫秒。get
【实例演示】下面经过代码来演示如何实现一个简单的帧动画。it
public class firstActivity extends Activity { /** Called when the activity is first created. */ @Override public void onCreate(Bundle savedInstanceState) { //重载onCreate方法 super.onCreate(savedInstanceState); setContentView(R.layout.main); final ImageView image=(ImageView)findViewById(R.id.imageView1); //ImageView对象 Button btn1=(Button)findViewById(R.id.button1); //按钮对象 Button btn2=(Button)findViewById(R.id.button2); final AnimationDrawable ad=(AnimationDrawable)image.getBackground(); //声明帧动画对象 btn1.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub ad.addFrame(getResources().getDrawable(R.drawable.p0), 100); //添加帧 ad.addFrame(getResources().getDrawable(R.drawable.p1), 100); //添加帧 ad.addFrame(getResources().getDrawable(R.drawable.p2), 100); //添加帧 ad.addFrame(getResources().getDrawable(R.drawable.p3), 100); //添加帧 ad.addFrame(getResources().getDrawable(R.drawable.p4), 100); //添加帧 ad.start(); //开始动画 } }); btn2.setOnClickListener(new View.OnClickListener() { //设置监听器 @Override public void onClick(View v) { // TODO Auto-generated method stub ad.stop(); //中止动画 } }); } }
在这段代码中,首先声明了帧动画对象。而后,在第一个按钮监听器中使用addFrame方法添加了动画帧,以后直接调用start方法来开 始动画执行,在第二个按钮监听器中直接调用stop方法来中止动画执行。这样,读者执行这段代码,当点击"执行动画"按钮时,将看到动画效果执行了两遍。 这是由于咱们增长的动画帧与原有的动画帧相同,至关于播放了两次。io