如何在Android中使用动画效果滑动活动?

Abh*_*don 0 animation android android-animation android-activity android-studio

我正在开发一款Android应用.我想在活动上实现这样的动画,如果我们离开activity A那么它应该向左滑动,新的activity B应该从右边滑入.当我离开当前activity B它也应该向右滑动,之前activity A应该从左向右滑动.怎么可能?

顺便说一句,我使用以下代码,但它没有做任何事情..

overridePendingTransition(R.anim.slide_left_in, R.anim.slide_left_out);

我已经为动画幻灯片编写了一些XML代码,如下所示:

slide_left_in.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android" >

    <translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:duration="@android:integer/config_shortAnimTime" />
</set>
Run Code Online (Sandbox Code Playgroud)

slide_left_out.xml:

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p"
        android:duration="@android:integer/config_shortAnimTime" />

</set>
Run Code Online (Sandbox Code Playgroud)

您的帮助将不胜感激.谢谢 !

sus*_*dlh 11

对于以下动画,你需要这4个动画xml .....

right_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">

    <translate
        android:fromXDelta="-100%p"
        android:toXDelta="0"
        android:duration="@android:integer/config_longAnimTime"/>
</set>
Run Code Online (Sandbox Code Playgroud)

right_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0"
        android:toXDelta="100%p"
        android:duration="@android:integer/config_longAnimTime"/>
</set>
Run Code Online (Sandbox Code Playgroud)

left_in.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="100%p"
        android:toXDelta="0"
        android:duration="@android:integer/config_longAnimTime"/>
</set>
Run Code Online (Sandbox Code Playgroud)

left_out.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <translate
        android:fromXDelta="0"
        android:toXDelta="-100%p"
        android:duration="@android:integer/config_longAnimTime"/>
</set>
Run Code Online (Sandbox Code Playgroud)

并将这些代码与AcitvityA一起使用......

            intent = new Intent(this, AcitvityB.class);
            startActivity(intent);
            overridePendingTransition( R.anim.left_in, R.anim.left_out);
Run Code Online (Sandbox Code Playgroud)

并在AcitvityB中使用这些作为BACK

@Override
    public void onBackPressed() {
        super.onBackPressed();
        overridePendingTransition( R.anim.right_in, R.anim.right_out);

    }
Run Code Online (Sandbox Code Playgroud)

输出: -

Ø

注意: - 如果你需要它对面动画只是改变右而不是左,反之亦然......