How to clear animation in android?

android, animation, java

Solution

Try cancelling the animations and see, something like

 moveright.cancel();
 moveright2.cancel();
 moveleft.cancel();

Or try reset as well

 moveright.reset();

similar for others

Problem

In my android app I am making a button shake using this code ``` public void FlashButton() { final Button button = ((Button)findViewById(R.id.button_message)); final Animation moveright = AnimationUtils.loadAnimation(this, R.anim.moveright); final Animation moveleft = AnimationUtils.loadAnimation(this, R.anim.moveleft); final Animation moveright2 = AnimationUtils.loadAnimation(this, R.anim.moveright2); AnimationListener animation1Listener = new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { button.startAnimation(moveleft); } }; AnimationListener animation2Listener = new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { button.startAnimation(moveright2); } }; AnimationListener animation3Listener = new Animation.AnimationListener() { @Override public void onAnimationStart(Animation animation) {} @Override public void onAnimationRepeat(Animation animation) {} @Override public void onAnimationEnd(Animation animation) { button.startAnimation(moveright); } }; moveright.setAnimationListener(animation1Listener); moveleft.setAnimationListener(animation2Listener); moveright2.setAnimationListener(animation3Listener); button.startAnimation(moveright); } ``` This code sets three animations sequentially in a loop forever. But how do I stop the animation, and make the button normal again? I tried `.clearAnimation();` but it didn't work... Does anyone know? Thanks.

Original source