独自の.xml アニメーション ファイルを作成して、新しいActivity
をフェード インし、現在の をフェード アウトすることができActivity
ます。
fade_in.xml
<?xml version="1.0" encoding="utf-8"?>
<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" />
フェードアウト.xml
<?xml version="1.0" encoding="utf-8"?>
<alpha xmlns:android="http://schemas.android.com/apk/res/android"
android:interpolator="@android:anim/accelerate_interpolator"
android:fromAlpha="1.0" android:toAlpha="0.0"
android:fillAfter="true"
android:duration="500" />
次のようなコードで使用しますActivity
。
Intent i = new Intent(this, NewlyStartedActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
上記のコードは、現在アクティブなものActivity
をフェードアウトし、新しく開始したものをフェードインしてActivity
、スムーズな移行を実現します。
更新: @Dan J は、組み込みの Android アニメーションを使用するとパフォーマンスが向上することを指摘しました。組み込みのアニメーションを使用する場合は、次を使用します。
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
リソース ID にアクセスするandroid.R
代わりに参照していることに注意してください。R
更新: 現在では、API レベル 19 で導入された Transition クラスを使用して遷移を実行することが一般的になっています。