Android | ValueAnimator не работает после перезапуска - PullRequest
0 голосов
/ 08 мая 2018

В моем приложении я использую ValueAnimator - он переводит одно изображение в другое. Работает отлично но только после запуска приложения. Когда я хочу анимировать изображения снова, аниматор не работает. Я пытался использовать animation.end () в слушателе onAnimationEnd, но приложение вылетало. Я перепробовал все. Не могли бы вы мне помочь ? Вот мой способ запустить анимацию

private void animate() {
        if(animator != null)
        animator.end();
        animator = ValueAnimator.ofFloat(0f, 1f);
        animator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                mPackOneSecond.setAlpha((Float) animation.getAnimatedValue());
                mPackTwoSecond.setAlpha((Float) animation.getAnimatedValue());
                mPackThreeSecond.setAlpha((Float) animation.getAnimatedValue());
            }
        });
        animator.addListener(new AnimatorListenerAdapter() {
            @Override
            public void onAnimationEnd(Animator animation) {
                super.onAnimationEnd(animation);
                startSorting(option);

            }
        });

        animator.setDuration(2500);
        animator.start();
    }

В основном animate () в onCreate () работает отлично, но когда я хочу его перезапустить - это не так. Почему?

1 Ответ

0 голосов
/ 27 февраля 2019

Звоните animator.cancel() до перезагрузки.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...