Android вращать анимацию и переводить анимацию не работают вместе - PullRequest
0 голосов
/ 25 декабря 2018

Я разрабатываю две разные анимации, как показано ниже.

enter image description here

Первая анимация, которую я смог разработать с использованием Object animator и FrameLayout.По сути, я создал два прямоугольника и подсвечники в рамке с гравитацией.Когда меня заставили запустить анимацию, я использовал объект-аниматор, чтобы переместить их в любую сторону и вернуться в исходное положение.

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

Может кто-нибудь сказать, выбрал ли я правильный подход или я должен использовать другой способ для достижения этой цели?

Добавление кода, который я пробовал, но не работал.

    Animation anim = new RotateAnimation(0.0f, 360.0f, pivotX, pivotY);
    anim.setDuration(500);
    anim.setAnimationListener(new Animation.AnimationListener() {
        @Override
        public void onAnimationStart(Animation animation) {
            for(View view : mCandleSticks) {
                ObjectAnimator anim1 = ObjectAnimator.ofFloat(view, "translationX", view.getX(), targetPos, view.getX());
                anim1.setDuration(500);//set duration
                anim1.start();//start animation
            }
        }

        @Override
        public void onAnimationRepeat(Animation animation) {
        }

        @Override
        public void onAnimationEnd(Animation animation) {

        }
    });
    frameLayout.startAnimation(anim);

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

...