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).overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
:)Bundle bundle = ActivityOptionsCompat.makeCustomAnimation(getContext(), android.R.anim.fade_in, android.R.anim.fade_out).toBundle(); startActivity(intent, bundle);
Einfach die Antwort von oleynikd erneut posten, weil es einfach und ordentlich ist
quelle
Sie können Ihrer Aktivität auch Animationen hinzufügen, und zwar in der onCreate-Methode wie unten, da overridePendingTransition mit einigen Mobilgeräten nicht funktioniert oder von den Geräteeinstellungen abhängt.
quelle
@Override public void onBackPressed() { super.onBackPressed(); overridePendingTransition(R.anim.fade_in, R.anim.fade_out); }
Sie können diesen Code auch in Ihrer style.xml- Datei verwenden, sodass Sie nichts anderes in Ihre activity.java schreiben müssen
quelle
Setzen Sie die folgende Zeile direkt nach Ihrem setContentView:
Dadurch wird die Animation zum Ein- und Ausblenden zu Ihrer Aktivität hinzugefügt. Animationen werden bereits vom Android-System bereitgestellt, sodass keine Neuerstellung erforderlich ist.
Hoffe es wird dir helfen :)
quelle