如何动画从中心的两个图像以彼此相反?(How to Animate two image view f

2019-09-01 01:12发布

我想从屏幕的中间的两个图像以动画彼此相对。 像下面的图像。

无论到目前为止,我已经做了,现在我是从左至右,反之亦然能够有生只有一个形象,但现在我想从动画中他们是。

这里是我的代码:

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>

谢谢

Answer 1:

    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>


文章来源: How to Animate two image view from Center to opposite to each other?