@artshelom

Как после анимации вернуть view на свое место?

У меня view в анимации перемещаются. Как сделать, чтобы после анимации они возвращались в первоначальное положение. Я понимаю что надо писать в onAnimationEnd, но что там прописать, чтобы получилось??

ValueAnimator positionAnimator = ValueAnimator.ofFloat(0, -150);
        positionAnimator.addUpdateListener(new ValueAnimator.AnimatorUpdateListener() {
            @Override
            public void onAnimationUpdate(ValueAnimator animation) {
                float value = (float) animation.getAnimatedValue();
                cloverImage.setTranslationY(value);
                cloverBack.setTranslationY(value);
                cloverText.setTranslationY(value);
            }
        });
        ObjectAnimator rotationAnimator = ObjectAnimator.ofFloat(cloverImage, "rotation", 0, 480);
        AnimatorSet animatorSet = new AnimatorSet();
        animatorSet.play(positionAnimator).with(rotationAnimator);
        animatorSet.setDuration(1000);
        animatorSet.start();
        animatorSet.addListener(new Animator.AnimatorListener() {
            @Override
            public void onAnimationStart(Animator animation) {

            }

            @Override
            public void onAnimationEnd(Animator animation) {
            }

            @Override
            public void onAnimationCancel(Animator animation) {

            }

            @Override
            public void onAnimationRepeat(Animator animation) {

            }
        });
  • Вопрос задан
  • 142 просмотра
Решения вопроса 1
KuSu
@KuSu
Android разработчик
Не знаю точно решения, но я бы посмотрел 2 варианта:
1) сделать анимацию в обратную сторону
2) запомнить состояние view до анимации и в конце анимации поменять значения на начальные
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы