Подтвердить что ты не робот

Установите анимационный прослушиватель на анимацию активности

Я использую метод overridePendingTransition для выполнения пользовательских анимаций действий.

Я хотел бы знать, когда заканчивается анимация (обратный вызов/прослушиватель).

Есть ли какой-либо прямой способ достичь этого, если нет, пожалуйста, предложите мне немного работы.

4b9b3361

Ответ 1

overridePendingTransition не имеет прослушивателя. Как я писал ранее, вы скорее захотите использовать обычную анимацию вместо overridePendingTransition (это только для Android 2.0 и выше).

Вы можете получить аналогичный эффект, и вы также можете сделать более классный материал с обычной анимацией. Мой предыдущий пост здесь: Загрузка XML медленно

Ответ 2

Я использую этот метод для запуска любой анимации (resID XML-анимации). Если nextPuzzleOnEnd истинно, метод "nextPuzzle" вызывается, когда анимация завершена.

Этот метод является частью моих приложений-головоломок, и я использую его для отображения любой анимации успеха, а затем (после того, как анимация закончилась) продолжит следующую головоломку.

 /*
 * start animation (any view)
 */
 private void startAnimation(View v, int resId, Boolean nextPuzzleOnEnd){
    Animation anim;

    if(v!=null){    // can be null, after change of orientation
            anim = AnimationUtils.loadAnimation(this.getContext(),resId);
            anim.setFillAfter(false);
            v.setAnimation(anim);
            if( nextPuzzleOnEnd ){
                anim.setAnimationListener(new AnimationListener() {
                    public void onAnimationStart(Animation anim)
                    {
                    };
                    public void onAnimationRepeat(Animation anim)
                    {
                    };
                    public void onAnimationEnd(Animation anim)
                    {
                        nextPuzzle();
                    };
                });                     
            }
            v.startAnimation(anim);                 
    }
  }

Ответ 3

После безуспешного просмотра Google для этого вопроса я найду решение, пройдя все переопределенные методы.

Итак, что я сделал, было переопределение этого сообщения в активности, что было на экране:

@Override
public void onEnterAnimationComplete() {
        super.onEnterAnimationComplete();
}