2

我想将两个图像从屏幕中间设置为彼此相对的动画。如下图。

在此处输入图像描述

到目前为止我所做的一切都是现在我只能从左到右为一个图像设置动画,反之亦然,但现在我想从中间为它们设置动画。

这是我的代码:

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>

谢谢

4

1 回答 1

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>
于 2013-04-24T12:32:36.037 回答