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);
}
});
我在相对布局中有两张图片。图片 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);
}
});