Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

animation.start() or animation.startNow() does not start the animation immediately

I have a strange issue - from time to time the animation that should fade out my control (ImageButton) does not kick in immediately. I am using the fadeout animation to hide it and then in myListener on its end (onAnimationEnd) I put new resource as the image on the button.

Somewhere in my app code:

Animation a = AnimationUtils.loadAnimation(this,R.anim.fadeout); 
a.setAnimationListener(new myListener(location));
buttons[location].setAnimation(a);
a.startNow(); // regardless if its start() or startnNow() 
              // it will work in most of the cases but not 100% reliable
              // I actually can see in debug Log when its late, happens after few more clicks

Then in myListener.onAnimationEnd(Animation a):

buttons[location].setImageResource(R.drawable.standard_button);

Seems there is a rule that the every 4th or 5th animation does not start ...

Thanks for help!

like image 752
Piotr Avatar asked Aug 30 '10 20:08

Piotr


1 Answers

adding

buttons[location].invalidate(); 

after

a.startNow();

has fixed my issue.

like image 75
Piotr Avatar answered Sep 29 '22 02:09

Piotr