Sie können Ihre eigenen XML-Animationsdateien erstellen , um eine neue Activity
einzufügen und die aktuelle auszublenden 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" />
fade_out.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" />
Verwenden Sie es in Code wie folgt: (In Ihrem Activity
)
Intent i = new Intent(this, NewlyStartedActivity.class);
startActivity(i);
overridePendingTransition(R.anim.fade_in, R.anim.fade_out);
Der obige Code blendet den aktuell aktiven Activity
und den neu gestarteten Code aus, Activity
was zu einem reibungslosen Übergang führt.
UPDATE : @Dan J wies darauf hin, dass die Verwendung der integrierten Android-Animationen die Leistung verbessert , was ich nach einigen Tests tatsächlich festgestellt habe. Wenn Sie lieber mit den integrierten Animationen arbeiten möchten, verwenden Sie:
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Beachten Sie, dass ich referenziere, android.R
anstatt R
auf die Ressourcen-ID zuzugreifen.
UPDATE : Es ist mittlerweile üblich, Übergänge mit der in API Level 19 eingeführten Transition-Klasse durchzuführen .
overridePendingTransition(android.R.anim.fadein, android.R.anim.fadeout);
Wenn Sie diese Dateien anzeigen, erhalten Sie möglicherweise auch Hinweise, wie Sie Ihre benutzerdefinierten Animationen verbessern können (z. B. indem das Einblenden länger dauert als das Ausblenden).