4

次のコードは私には機能しません。

finish();
overridePendingTransition(R.anim.slide_up,R.anim.slide_up);
startActivity(intent);
overridePendingTransition(R.anim.slide_up,R.anim.slide_up);

アニメーションのXMLは

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
<translate android:fromXDelta="50%p" android:toXDelta="-50"
        android:duration="@android:integer/config_mediumAnimTime"/>
<alpha android:fromAlpha="0.0" android:toAlpha="1.0"
        android:duration="@android:integer/config_mediumAnimTime" />
</set>

Webを検索し、Stack Overflowのすべてのスレッドを確認しましたが、これを修正できませんでした。

4

4 に答える 4

19

私はそれを次のように解決させました。

削除しました

overridePendingTransition(R.anim.slide_up,R.anim.slide_up);

上記のコードからそれをに配置するとonPause()、それは魅力のように機能しました。

于 2012-05-30T21:15:16.503 に答える
0

電話でアニメーションが無効になっている場合があります。チェックするには、[設定]>[表示]>[アニメーション]>[すべてのアニメーションを許可]に移動します。これにより、overridePendingTransitionが無効になっている場合に正しく機能するようになります。

于 2014-07-08T15:09:14.940 に答える
0

USBデバッグモードをアクティブにすると、トランジション効果が無効になる可能性があります。開発者向けオプション(デバッグモードをアクティブにした場所)を入力し、ユーザーのインターフェイスセクションを見つけて、アニメーションのトランジションスケールでアニメーションが無効になっているかどうかを確認します。その場合は、.5xに設定します。終わり!

于 2015-01-16T13:24:16.073 に答える
-1

finish()の前にstartActivityを試してください

于 2012-05-30T20:33:05.160 に答える