活动从下到上滑动但不应移动背景活动

Pra*_*tik 30 android android-activity

我试图将活动从底部滑到顶部,我能够做到.

但是当从底部滑到顶部时,我的背景活动也滑到了底部.我希望将后台活动保持在相同的位置,以便新活动在打开时看起来像是背景活动的叠加.

这是我的slide_in_up.xml

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

和slide_out_up.xml

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

我怎样才能做到这一点?
谢谢...

Phi*_*ert 49

slide_up.xml

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

    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromYDelta="100%p"
        android:toYDelta="0" />

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

slide_down.xml

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

    <translate
        android:duration="@android:integer/config_longAnimTime"
        android:fromYDelta="0"
        android:toYDelta="100%p" />

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

stay.xml

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

打开活动

startActivity(new Intent(FromActivity.this, ToActivity.class));
overridePendingTransition(R.anim.slide_up, R.anim.stay);
Run Code Online (Sandbox Code Playgroud)

关闭活动

finish();
overridePendingTransition(R.anim.stay, R.anim.slide_down);
Run Code Online (Sandbox Code Playgroud)


Bol*_*ton 48

然后提供传出动画以使当前活动保持不变:

overridePendingTransition(R.anim.slide_in_up, R.anim.stay);
Run Code Online (Sandbox Code Playgroud)

stay.xml:

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