在Android中进行翻译时如何让imageview旋转?

时间:2010-03-26 01:39:54

标签: java android animation

我正在尝试制作一个在屏幕上滑动时旋转的图像视图。我设置了一个180度的旋转动画,它自己工作。我设置了一个翻译动画,它自己工作。当我将它们组合在一起时,我会得到一个形成大螺旋的imageview。我希望imageview在翻译时围绕imageview的中心旋转。

        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 个答案:

答案 0 :(得分:17)

嗯,我想我"rubber ducked"这个。

动画的应用顺序很重要。我将订单从翻译/旋转切换到旋转/翻译,它的工作原理。