ImageView 在旋转时改变位置

ImageView changes position on rotation

我在相对布局中有两张图片。图片 2 位于图片 1 内。我希望两张图片都旋转。图像 1 旋转得很好,但图像 2 在旋转时改变了它的位置。图 2 未绕其原始中心旋转。

java代码

 ImageView playcircle = (ImageView) findViewById(R.id.playcircle);
ImageView animationcircle =(ImageView)findViewById(R.id.animationcircle);
Animation a = AnimationUtils.loadAnimation(getApplicationContext(), R.anim.linear_interpolator);
playcircle.startAnimation(a); 
animationcircle.startAnimation(a) ;

XML代码

<RelativeLayout..................>

    <ImageView
      android:id="@+id/playcircle"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:src="@drawable/mainmenu_play_circle" />

        <ImageView
             android:id="@+id/animationcircle"
            android:layout_width="match_parent"
            android:layout_height="fill_parent"

            android:layout_margin="60dp"
            android:src="@drawable/mainmenu_animation" />

</RelativeLayout>

我刚刚制作了旋转演示

activty_main.xml

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

    <ImageView
        android:id="@+id/iv1"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:src="@drawable/ic_delete_icon" />

    <ImageView
        android:id="@+id/iv2"
        android:layout_width="match_parent"
        android:layout_height="fill_parent"
        android:layout_centerInParent="true"
        android:padding="60dp"
        android:src="@drawable/ic_launcher" />
</RelativeLayout>

Bind button Click 并写了一些旋转代码,比如

btnRotate.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // TODO Auto-generated method stub
                RotateAnimation rotateAnimation1 = new RotateAnimation(0, 360,
                        Animation.RELATIVE_TO_SELF, 0.5f,
                        Animation.RELATIVE_TO_SELF, 0.5f);
                rotateAnimation1.setInterpolator(new LinearInterpolator());
                rotateAnimation1.setDuration(2000);
                rotateAnimation1.setRepeatCount(0);
                iv1.startAnimation(rotateAnimation1);
                iv2.startAnimation(rotateAnimation1);
            }
        });