[Android动画] 帧动画-添加动画帧( addFrame)四

【功能说明】该方法用于为帧动画对象添加动画帧。该方法主要用于动态修改帧动画内容的场合,可以根据需要增加一些动画帧。

【基本语法】public void addFrame (Drawable frame, int duration)

参数说明

frame:动画帧的Drawable对象。

duration:动画帧的持续时间,单位为毫秒。

【实例演示】下面通过代码来演示如何实现一个简单的帧动画。

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方法来停止动画执行。这样,读者执行这段代码,当点击"执行动画"按钮时,将看到动画效果执行了两遍。 这是因为我们增加的动画帧与原有的动画帧相同,相当于播放了两次。


转载于:https://my.oschina.net/u/242041/blog/198994

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值