文章转载只能用于非商业性质,且不能带有虚拟货币、积分、注册等附加条件。转载须注明出处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开发相关文章