2010-08-30 2 views
3

У меня странная проблема - время от времени анимация, которая должна исчезнуть из моего контроля (ImageButton), не срабатывает немедленно. Я использую анимацию fadeout, чтобы скрыть ее, а затем в myListener на ее конце (onAnimationEnd) я поместил новый ресурс в качестве изображения на кнопку.animation.start() или animation.startNow() не запускает анимацию сразу

Где-то в моем приложении код:

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 

Тогда в myListener.onAnimationEnd (анимация):

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

Кажется, существует правило, что каждый четвёртый или пятый анимация не работает. ..

Спасибо за помощь!

ответ

11

добавления

buttons[location].invalidate(); 

после

a.startNow(); 

зафиксировал мою проблему.

+5

Если принять свой собственный ответ, вы получите значок, и этот вопрос больше не будет отображаться как «не ответил». – EboMike

+0

Спасибо, что это сработало для меня. – pvn

3

Вы также можете использовать

buttons[location].startAnimation(a); 
Смежные вопросы