我希望将两个图像从屏幕中间设置为相互对称。如下图所示。
到目前为止,无论我做了什么,现在我只能从左到右动画一幅图像,反之亦然,但现在我想从中间动画它们。
这是我的代码:
b1 = (Button) findViewById(R.id.button1);
logo = (ImageView) findViewById(R.id.imageView1);
Display display = getWindowManager().getDefaultDisplay();
width = display.getWidth();
final Animation posX = new TranslateAnimation(0, width - 50, 0, 0);
posX.setDuration(1500);
posX.setFillAfter(true);
b1.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
logo.startAnimation(posX);
logo.setVisibility(View.VISIBLE);
}
});
修改
<RelativeLayout
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_centerHorizontal="true"
android:layout_marginTop="40dp"
android:background="@drawable/set_user_profile_back"
android:paddingLeft="10dp"
android:paddingRight="10dp" >
<ImageView
android:id="@+id/imageView1"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_marginLeft="50dp"
android:contentDescription="@string/hello_world"
android:src="@drawable/prev_btn" />
<ImageView
android:id="@+id/ImageView01"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentTop="true"
android:layout_toRightOf="@+id/imageView1"
android:contentDescription="@string/hello_world"
android:src="@drawable/next_btn" />
</RelativeLayout>
由于
答案 0 :(得分:4)
ImageView img1 = findViewById(R.id.img1);
ImageView img2 = findViewById(R.id.img2);
Animation img1_Anim = AnimationUtils.loadAnimation(this,
R.anim.img1_animation);
img1_Anim.setAnimationListener(AnimationListener);
img1.startAnimation(img1_Anim);
Animation img2_Anim = AnimationUtils.loadAnimation(this,
R.anim.img2_animation);
img2_Anim.setAnimationListener(AnimationListener);
img2.startAnimation(img2_Anim);
private AnimationListener AnimationListener = new AnimationListener() {
@Override
public void onAnimationStart(Animation animation) {
}
@Override
public void onAnimationRepeat(Animation animation) {
}
@Override
public void onAnimationEnd(Animation animation) {
}
};
<强> img1_animation 强>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<translate
android:duration="500"
android:fromXDelta="50%"
android:toXDelta="0%" />
</set>
<强> img2_animation 强>
<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android"
android:fillAfter="true" >
<translate
android:duration="500"
android:fromXDelta="50%"
android:toXDelta="100%" />
</set>