16

当我进入下一个活动时,我能够从下到上动画,但是现在当我按下时,我使用相同的代码从上到下动画,但它总是从下到上,所以我的问题是如何提供动画当我在Android设备上按下后退按钮时从上到下?
请在下面找到我的代码。

我在Activity使用Intent.

overridePendingTransition( R.anim.slide_in_up, R.anim.slide_out_up );

和 xml 是: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"/>

和 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"/>
4

4 回答 4

20

只需在 slide_out_up.xml 中将 -100 更改为 100(删除减号)

@Override
public void onBackPressed() {
    finish();
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
}
于 2012-02-17T04:17:33.700 回答
6

在我的平板电脑 4.0.3 上工作。

slide_out_up.xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

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

</set>

slide_in_up:xml

<set xmlns:android="http://schemas.android.com/apk/res/android" >

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

</set>

样式.xml

<?xml version="1.0" encoding="utf-8"?>
<resources>

    <style name="DialogAnimationOutUpInUp">
        <item name="android:windowEnterAnimation">@anim/slide_in_up</item>
        <item name="android:windowExitAnimation">@anim/slide_out_up</item>
    </style>

</resources>
于 2013-06-16T00:24:21.893 回答
5

我刚刚用另外两个 xml 文件实现了它

向上滑动,100 到 0 和 0 到 -100

向下滑动 -100 到 0 和 0 到 100

它完美无缺。

于 2012-03-30T12:27:16.107 回答
4

您可以覆盖后退按钮按下行为并设置所需的适当动画,如下所示:

@Override
public void onBackPressed() {
    finish();
    overridePendingTransition(R.anim.enter_anim, R.anim.exit_anim);
}

更改动画overridePendingTransition,使其适合您想要的动画。

于 2011-10-13T14:01:07.853 回答