2015-12-04 2 views
0

im ищет способ удалить вид из макета с анимацией масштаба. Метод removeFromLayout должен масштабировать их до 0, и после того, как каждый просмотр будет выполнен с помощью анимации, layaw должен быть очищен.Удалить просмотры после завершения анимации

public void removeFromLayout(){ 
     for(int i=all.size()-1;i>=0;i--){ 
      all.get(i).animate() 
        .scaleX(0) 
        .scaleY(0) 
        .setDuration(200) 
        .setStartDelay(i*MainActivity.FIELDSIZE).start(); 
     } 
     //After all animations are done, they should be removed 
     layout.removeAllViews(); 
    } 

Так что мой вопрос в том, как я могу «задержать» layout.removeAllViews()?

Заранее спасибо

ответ

0

Создать CountDownTimer:

new CountDownTimer(200, 10) { 

public void onTick(long millisUntilFinished) 
{} 

public void onFinish() { 
    layout.removeAllViews(); 
} 
}.start(); 
+0

не работает для меня. – cyden

2

Рассмотрите возможность использования ObjectAnimator класса. Вы можете настроить прослушиватель анимации. Следующий фрагмент кода даст вам представление.

ObjectAnimator scaleDown = ObjectAnimator.ofPropertyValuesHolder(view, 
    PropertyValuesHolder.ofFloat("scaleX", 0.5f), 
    PropertyValuesHolder.ofFloat("scaleY", 0.5f)); 
scaleDown.setDuration(1000); 
scaleDown.addListener(new Animator.AnimatorListener() { 
      @Override 
      public void onAnimationStart(Animator animation) { 

      } 

      @Override 
      public void onAnimationEnd(Animator animation) { 
       //Animation is complete, you can remove all your views here 
       layout.removeAllViews(); 
      } 

      @Override 
      public void onAnimationCancel(Animator animation) { 

      } 

      @Override 
      public void onAnimationRepeat(Animator animation) { 

      } 
     }); 
scaleDown.start(); 
+0

Пробовал это раньше, и он не работает должным образом. В цикле a есть условие if (i == 0), в котором я бы добавил слушателя и onAnimationEnd removeAllViews. Он не анимировал и не удалил все виды мгновенно. Пример: http://pastebin.com/CdEmi4Cp – cyden