AndroidのstartActivity()トランジションアニメーションを変更することはできますか?


Answers

APIレベル5から、overridePendingTransitionをすぐに呼び出して、明示的なトランジションアニメーションを指定できます。

startActivity();
overridePendingTransition(R.anim.hold, R.anim.fade_in);

または

finish();
overridePendingTransition(R.anim.hold, R.anim.fade_out);
Question

私はアクティビティを開始しており、 startActivity()ではアルファフェードイン、 startActivity()ではフェードアウトしています。 Android SDKでこれについてどうすればいいですか?




fadeInfadeOutの場合は、新しいActivityクラスでsuper.onCreate(savedInstanceState)の後に追加します。 他に何かを作成する必要はありません(XMLなし、アニメーションフォルダなし、余分な機能なし)。

overridePendingTransition(R.anim.abc_fade_in,R.anim.abc_fade_out);



overridePendingTransition使用する

startActivity();
overridePendingTransition(R.anim.fadein, R.anim.fadeout);

fadein.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:interpolator="@android:anim/accelerate_interpolator"
        android:fromAlpha="0.0" android:toAlpha="1.0" android:duration="500" />
</set>

fadeout.xml

<?xml version="1.0" encoding="utf-8"?>
<set xmlns:android="http://schemas.android.com/apk/res/android">
    <alpha xmlns:android="http://schemas.android.com/apk/res/android"
        android:interpolator="@android:anim/anticipate_interpolator"
        android:fromAlpha="1.0" android:toAlpha="0.0" android:duration="500" />
</set>





Links