4

我想围绕一个固定点连续旋转图像 360 度。我已经看过一些例子,例如:

RotateAnimation anim = new RotateAnimation(0, 360,150,150);
anim.setInterpolator(new LinearInterpolator());
anim.setRepeatCount(Animation.INFINITE);
anim.setDuration(2000);
[imageview].startAnimation(anim);

这确实会旋转图像,但它会在弧形/圆形路径上旋转。IE。图像以圆周运动移动/旋转,但并未固定在其起始位置。

我基本上想要的是模仿风车手臂的旋转。

有什么想法吗?

4

3 回答 3

7

使用此代码

RotateAnimation rotateAnimation1 = new RotateAnimation(0, 360,
        Animation.RELATIVE_TO_SELF, 0.5f,
        Animation.RELATIVE_TO_SELF, 0.5f);
rotateAnimation1.setInterpolator(new LinearInterpolator());
rotateAnimation1.setDuration(duration);
rotateAnimation1.setRepeatCount(0);
img.startAnimation(rotateAnimation1);

这会将您的图像旋转到其固定位置,即围绕自身

于 2012-12-31T12:59:54.803 回答
0

好的,所以经过一些调整后,我得到了完美的工作。就像 Macarse 所说,它确实涉及ImageView.

要解决此问题,您所要做的就是将您的内容ImageView放入RelativeLayout

<RelativeLayout
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"        
    >

    <ImageView
        android:id="@+id/imageview"
        android:layout_height="wrap_content"
        android:layout_width="wrap_content"
        android:src="@drawable/image"
        />

</RelativeLayout>
于 2011-03-07T16:05:38.003 回答
-1

我会说将 imageview.. 的轴心点设置为 x = imgView.getWidth()/2 和 y = imgView.getHeight()/2

于 2015-03-24T13:45:19.800 回答