我正在学习一些Android动画,并希望执行以下操作:
在飞行过程中,它会睁开眼睛(可绘制的r_rabbit_wake400), 当动画停留在草地上时,它会闭上眼睛(可绘制的r_rabbit_sleep400)。
protected void onCreate(Bundle savedInstanceState)
{
....
button_rabbit.setBackgroundResource(R.drawable.r_rabbit_sleep400);
....
public void button_action_click (View view)
{
button_rabbit.setBackgroundResource(R.drawable.r_rabbit_wake400);
ObjectAnimator animY = ObjectAnimator.ofFloat(button_rabbit, "translationY", -500f, 0f);
animY.setDuration(1500);//1.5sec
animY.setInterpolator(new BounceInterpolator());
animY.setRepeatCount(0);
animY.start();
}
这只会给出一个结果,兔子立即从草地上睁开眼睛直接到空中(没有减速的过渡),然后摔倒在地,蹦蹦跳下几次回到草地,然后没有闭上眼睛。
我应该使用AnimationListener
:
如果是,那怎么可以用onAnimationEnd
来写?
提前感谢您的建议!