2014-09-22 6 views
2

я запутался с проблемой:Как очистить анимации в правильном направлении

Animation animation = new TranslateAnimation(0, 0, 200, 0); 
animation.setDuration(800); 
animation.setFillAfter(true); 

btnView.startAnimation(animation); 
btnView.setVisibility(View.VISIBLE); 

я запускаю этот код работать правильно, но когда я добавить код ниже:

btnView.clearAnimation(); 

анимация не может показать, как очистить анимацию после этого?

+3

Непонятно, что вы просите. Вы хотите показать свою анимацию или очистить ее? – Raptor

ответ

3

, если вы хотите, чтобы очистить анимации для представления один раз анимации я закончил

вы должны переопределить Animation Слушатель зрения, а затем очистить анимацию

, если вы хотите, чтобы ваш взгляд, чтобы вернуться к intial postion просто setFillafter (false);

animation.setAnimationListener(new AnimationListener() { 

      @Override 
      public void onAnimationStart(Animation animation) { 


      } 

      @Override 
      public void onAnimationRepeat(Animation animation) { 


      } 

      @Override 
      public void onAnimationEnd(Animation animation) { 
       // TODO set params of the view to required position 

      } 
     }); 
+0

Спасибо, очень хорошо. – dawei

1

Чтобы очистить анимацию после ее завершения, установите setFillAfter в значение false.