Wie kann ich den Übergang zwischen zwei Aktivitäten für Android 1.5 und höher definieren? Ich möchte, dass eine Aktivität eingeblendet wird.
android
android-activity
transition
hpique
quelle
quelle
overridePendingTransition
unten stehenden Antworten: Sie können bestehen,(0, 0)
wenn Sie überhaupt keine Animation wünschen.Antworten:
Sie können dies mit tun
Activity.overridePendingTransition()
. Sie können einfache Übergangsanimationen in einer XML-Ressourcendatei definieren.quelle
onCreate
Funktion Ihrer Aktivität tun .Hier ist der Code für eine schöne, gleichmäßige Überblendung zwischen zwei Aktivitäten.
Erstellen Sie eine Datei mit dem Namen
fadein.xml
inres/anim
Erstellen Sie eine Datei mit dem Namen
fadeout.xml
inres/anim
Wenn Sie von Aktivität A zu Aktivität B wechseln möchten, geben Sie Folgendes in die
onCreate()
Methode für Aktivität B ein . VorhersetContentView()
arbeitet für mich.Wenn die Überblendungen für Sie zu langsam sind, ändern Sie
android:duration
die obigen XML-Dateien in etwas Kleineres.quelle
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).fadein
undfadeout
zufade_in
undfade_out
. Von Dan Js PostoverridePendingTransition()
direkt nach dem Anruffinish()
und / oder anrufenstartActivity()
. Auf diese Weise konnte ich eine schöne Überblendung erzielen, indem ich sie direkt nach dem Start der neuen Aktivität aufrief.Eine noch einfachere Möglichkeit ist:
Das ist es :)
quelle
Ja. Sie können dem Betriebssystem mitteilen, welche Art von Übergang Sie für Ihre Aktivität wünschen.
Wobei ANIMATION eine Ganzzahl ist, die sich auf eine im Betriebssystem integrierte Animation bezieht.
quelle
Erstelle res> anim> fadein.xml
Erstelle res> anim> fadeout.xml
In res> values> styles.xml
In Aktivitäten onCreate ()
quelle
overridePendingTransition(android.R.anim.fade_in, android.R.anim.fade_out);
Eine Liste der Standardanimationen finden Sie unter: http://developer.android.com/reference/android/R.anim.html
Es gibt in der Tat
fade_in
undfade_out
für API Level 1 und höher.quelle
Ich überschreibe meine Standardaktivitätsanimation. Ich teste es in API 15, dass es reibungslos funktioniert. Hier ist die Lösung, die ich benutze:
Erstellen Sie einen Animationsordner unter dem Ordner res und erstellen Sie dann diese vier Animationsdateien:
slide_in_right.xml
slide_out_left.xml
slide_in_left.xml
slide_out_right.xml
Sie können mein Beispielprojekt herunterladen .
Das ist alles... :)
quelle
Hier ist der Code, um eine schöne Glättung zwischen zwei Aktivitäten durchzuführen.
sanfter Effekt von links nach rechts
Erstellen Sie eine Datei mit den Namen slide_in_right.xml und slide_out_right.xml in res / anim
slide_in_right.xml
slide_out_right.xml
sanfter Effekt von rechts nach links
Erstellen Sie in res / anim eine Datei mit den Namen animation_enter.xml und animation_leave.xml
animation_enter.xml
animation_leave.xml
Navigieren Sie von einer Aktivität zur zweiten Aktivität
4. Drücken Sie auf Ereignis zurück oder navigieren Sie von der zweiten Aktivität zu einer Aktivität
quelle
overridePendingTransition
sofort nach startActivity anrufen: developer.android.com/reference/android/app/…Sie können overridePendingTransition in Android 1.5 nicht verwenden. overridePendingTransistion wurde für Android 2.0 bereitgestellt.
Wenn Sie dies ohne Fehler durchlaufen möchten, müssen Sie mit den normalen Animationen (oder Ihren eigenen) für das Ziel (1.5 oder höher) kompilieren oder mit overridePendingTransistion für das Ziel (2.0 oder höher) kompilieren.
Zusammenfassung: Sie können overridePendingTransistion in Android 1.5 nicht verwenden .
Sie können jedoch die im Betriebssystem integrierten Animationen verwenden.
quelle
IN GALAXY Geräte:
Sie müssen sicherstellen, dass Sie es im Gerät nicht über Einstellungen> Entwickleroptionen deaktiviert haben:
quelle
Verwenden Sie die ActivityCompat.startActivity () -Arbeits-API> 21.
quelle
Bevor Sie mit Ihrer Absicht beginnen:
Dies gibt Ihrem Aktivitätsübergang eine Standardanimation.
quelle
Einige Versionen von Android unterstützen benutzerdefinierte
Activity
Übergänge, andere nicht (ältere Geräte). Wenn Sie benutzerdefinierte Übergänge verwenden möchten, sollten Sie überprüfen, obActivity
dieoverridePendingTransition()
Methode vorhanden ist, wie dies bei älteren Versionen nicht der Fall ist.Um festzustellen, ob die Methode vorhanden ist oder nicht, kann die Reflection-API verwendet werden. Hier ist der einfache Code, der die Methode überprüft und zurückgibt, falls vorhanden:
Und dann können wir unseren eigenen Übergang anwenden, dh diese Methode verwenden, falls vorhanden:
Hier wurden als Beispiel einfache Ein- und Ausblendanimationen für die Übergangsdemonstration verwendet.
quelle
Animation verkleinern
zoom_enter
zoom_exit
quelle