当前位置:操作系统 > 安卓/Android >>

Android Animation 帧动画监听结束的方法

 

这个问题用中文搜了很久一直没有解决,今天尝试用英文在Google上搜了一下,打开第一个网页就把困扰的很久的问题解决了

 

 

问题描述:帧动画连续播放--android 帧动画没有提供结束动作的监听方法,怎么实现播放完一个动画之后接着播放第二个动画呢?

 

 

正确方法1:

 

 

public void mmswoon(){ 

        imageView.setBackgroundResource(R.anim.mmswoon); 

        AnimationDrawable animationDrawable = (AnimationDrawable)imageView.getBackground(); 

        animationDrawable.start(); 

         

        int duration = 0; 

        for(int i=0;i<animationDrawable.getNumberOfFrames();i++){ 

            duration += animationDrawable.getDuration(i); 

        } 

        Handler handler = new Handler(); 

        handler.postDelayed(new Runnable() { 

            public void run() { 

               //此处调用第二个动画播放方法   

            } 

        }, duration); 

         

    } 

duration是第一个动画播放的总时间

 

PS :自己试过了,可以实现效果

正确方法2:

 

 

this.q_pic_view.setImageResource(0); 

    this.q_pic_view.setBackgroundResource(R.drawable.animation_test); 

    AnimationDrawable correct_animation = (AnimationDrawable) this.q_pic_view.getBackground(); 

    correct_animation.start(); 

 

    //here I tried to implement option C but it didn't work 

    while(correct_animation.isRunning()){ 

        try { 

           Thread.sleep(20); 

        } catch (InterruptedException e) { 

           // TODO Auto-generated catch block 

           e.printStackTrace(); 

        } 

    } 

这个方法没有试过

 

摘自 wangxin的专栏

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,