Ich habe eine Aktivität, die eine andere Aktivität über einen Klick auf eine Schaltfläche startet. Standardmäßig animiert das Betriebssystem in neueren Betriebssystemversionen von Android die neue Aktivität, die von rechts nach links verschoben wird.
Gibt es eine Möglichkeit, diese Animation zu deaktivieren? Ich möchte nur, dass die neue Aktivität ohne Animation angezeigt wird.
FLAG_ACTIVITY_NO_ANIMATION
undoverridePendingTransition
beide nur API Level 5+ sind.IMHO diese Antwort hier lösen Problem auf die eleganteste Weise ..
Entwickler sollten einen Stil erstellen ,
Setzen Sie es dann im Manifest als Thema für die Aktivität oder die gesamte Anwendung.
Voila! Schön und einfach..
ps Credits an Originalautor bitte ..
quelle
Anwenden
dann
Dadurch wird die Animation gestoppt.
quelle
Meiner Meinung nach ist die beste Antwort zu verwenden
"overridePendingTransition(0, 0);"
Um zu vermeiden, dass Animationen angezeigt werden, wenn Sie
Intent
eineActivity
Verwendung wünschen :und um die Animation nicht zu sehen, wenn Sie die Zurück-Taste drücken, überschreiben Sie die
onPause
Methode in Ihremnewactivity
quelle
Geben Sie
Intent.FLAG_ACTIVITY_NO_ANIMATION
beim Start einfach das Flag anquelle
Dies funktioniert bei mir beim Deaktivieren der Animation "Fertig stellen".
quelle
Ich bin in 4.4.2 und das Aufrufen von overridePendingTransition (0, 0) in onCreate () der Startaktivität deaktiviert die Startanimation (das Aufrufen von overridePendingTransition (0, 0) unmittelbar nachdem startActivity () NICHT funktioniert hat). Wie in einer anderen Antwort erwähnt, deaktiviert das Aufrufen von overridePendingTransition (0, 0) nach finish () die schließende Animation.
Übrigens habe ich festgestellt, dass das Festlegen des Stils mit "android: windowAnimationStyle"> @ null (eine andere hier erwähnte Antwort) einen Absturz verursachte, als meine Startaktivität versuchte, den Titel der Aktionsleiste festzulegen. Beim weiteren Debuggen stellte ich fest, dass window.hasFeature (Window.FEATURE_ACTION_BAR) in der initActionBar () der Aktivität fehlschlägt.
quelle
FLAG_ACTIVITY_NO_ANIMATION mag funktionieren, hat aber in Kombination mit FLAG_ACTIVITY_CLEAR_TASK und FLAG_ACTIVITY_NEW_TASK nicht den Trick für mich getan. Ich sehe anscheinend die Animation zum Erstellen einer neuen Aufgabe mit einem neuen Aktivitätsstapel, während ich seitlich zu meinen anderen Ansichten der obersten Ebene navigiere.
Was hier funktioniert hat, war "overridePendingTransition (0, 0)" aufzurufen. entweder unmittelbar nach meinem Aufruf von startActivity () oder onPause (). Beide Methoden haben funktioniert, aber wenn ich es nach startActivity () mache, habe ich etwas mehr Kontrolle darüber, wann ich Animationen möchte und wann nicht.
quelle
Ich hatte ein ähnliches Problem damit, dass beim Übergang von einer Aktivität zu einer anderen mit ein schwarzer Bildschirm angezeigt wurde
overridependingtransition
. und ich folgte dem Weg unten und es funktionierte1) einen
noanim.xml
in anim Ordner erstelltund verwendet
Der erste Parameter als meine ursprüngliche Animation und der zweite Parameter, der die Exit-Animation als meine Dummy-Animation ist
quelle
Um den schwarzen Hintergrund zu vermeiden , wenn eine Aktivität bereits in dem Stapel ausgehend, habe ich
overridePendingTransition(0,0)
inonStart()
:quelle