Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/202.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 活动从下到上滑动,但不应移动背景活动_Android_Android Activity - Fatal编程技术网

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

Android 活动从下到上滑动,但不应移动背景活动,android,android-activity,Android,Android Activity,我正在尝试将一项活动从下滑向上,这是我能够做到的 但是,在从底部滑向顶部的同时,我的背景活动也在滑向底部。 我想让背景活动保持原来的位置,这样新活动在打开时看起来就像是背景活动的叠加 这是我在_up.xml中的幻灯片 <?xml version="1.0" encoding="utf-8"?> <translate xmlns:android="http://schemas.android.com/apk/res/android" android:fromYDelta="100

我正在尝试将一项活动从下滑向上,这是我能够做到的

但是,在从底部滑向顶部的同时,我的背景活动也在滑向底部。 我想让背景活动保持原来的位置,这样新活动在打开时看起来就像是背景活动的叠加

这是我在_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"/>

然后滑出\u 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"/>

我该怎么做?

谢谢…

然后提供一个传出动画,使当前活动保持静止:

overridePendingTransition(R.anim.slide_in_up, R.anim.stay);
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" />

您只需调用
overridePendingTransition(R.anim.slide\u in\u up,0)

0
表示没有动画

slide\u up.xml

密切活动


不。。。。实际上,当新活动向上滑动时,后台活动完成。。。它起作用了。。。实际上,当我们使用0时,后台活动将完成,新活动将显示。但是现在使用上面的xml,它就如我所希望的那样工作了此行的更改覆盖了过渡(R.anim.stay,R.anim.slide_down)`完美的解释!非常感谢你!是的,这是一个完美而详细的答案。我认为0在这里意味着“默认”(至少在API 26+中是这样),所以你会得到一个黑色的背景,或者更确切地说是一个带有窗口颜色的背景。
<?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>
<?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>
<?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" />
startActivity(new Intent(FromActivity.this, ToActivity.class));
overridePendingTransition(R.anim.slide_up, R.anim.stay);
finish();
overridePendingTransition(R.anim.stay, R.anim.slide_down);