Как заставить изображение вращаться при переводе в Android? - PullRequest
9 голосов
/ 26 марта 2010

Я пытаюсь сделать изображение, которое вращается, скользя по экрану. Я настроил анимацию поворота на 180 градусов, и она работает сама по себе. Я настроил анимацию перевода, и она работает сама по себе. Когда я объединяю их, я получаю изображение, которое делает большую спираль. Я бы хотел, чтобы при просмотре изображения вид вращался вокруг центра изображения.

        AnimationSet animSet = new AnimationSet(true);
        //Translate upwards and to the right.   
        TranslateAnimation anim =
            new TranslateAnimation(
                    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, +80.0f,
                    Animation.ABSOLUTE, 0.0f, Animation.ABSOLUTE, -100.0f
                    );
            anim.setInterpolator(new DecelerateInterpolator()); 
            anim.setDuration(400);
            animSet.addAnimation(anim);

            //Rotate around center of Imageview
            RotateAnimation ranim = new RotateAnimation(0f, 180f, Animation.RELATIVE_TO_SELF, 0.5f, Animation.RELATIVE_TO_SELF, 0.5f); //, 200, 200); // canvas.getWidth() / 2, canvas.getHeight() / 2);
            ranim.setDuration(400);
            ranim.setInterpolator(new DecelerateInterpolator());

            animSet.addAnimation(ranim);

            imageBottom.startAnimation(animSet);

1 Ответ

17 голосов
/ 26 марта 2010

Ну, я думаю, я "резиновая утка" этот.

Порядок применения анимации имеет значение. Я переключил порядок с перевода / поворота на поворот / перевод, и он работает.

...