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>

style.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

私はちょうどそれを次のような2つの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 に答える