Pro Android学习笔记(一一一):2D动画(6):AnimationListener

时间:2023-02-06 23:34:13

文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处http://blog.csdn.net/flowingflying以及作者@恺风Wei

layout动画通过XML进行定义,无法知道动画进行状态,如果我们希望在动画结束的时候触发某个动作,由于无法获知动画状态,是无法实现的。但在view动画中,通过AnimationListener,我们可以定义动画状态的回调函数,解决这个问题。

实现AnimationListener

例子的触发处理是简单地显示log信息。

public class ViewAnimationListener implements AnimationListener{
    @Override
    public void onAnimationStart(Animation animation)
        Log.d("WEI", "onAnimationStart");
    }

    @Override
    public void onAnimationEnd(Animation animation)
        Log.d("WEI", "onAnimationEnd");
    }

    @Override  
    public void onAnimationRepeat(Animation animation)
        Log.d("WEI", "onAnimationRepeat");
    }
}

使用AnimationListener

private void animate(){
    ListView lv = (ListView) findViewById(R.id.list_view_2);
    Animation an = new ViewAnimationCamera();
    
    an.setAnimationListener(new ViewAnimationListener());
    lv.startAnimation(an);
}

 

小例子代码在:Pro Android学习:2D动画小例子

相关链接:我的Android开发相关文章