Wie kann ich das Intent-Flag FLAG_ACTIVITY_NO_ANIMATION
in der AndroidManifest-Datei richtig verwenden? Ich nehme an, mein Problem ist trivial, aber ich kann kein gutes Beispiel oder eine Lösung dafür finden.
<intent-filter>
<data android:name="android.content.Intent.FLAG_ACTIVITY_NO_ANIMATION" />
</intent-filter>
Der Compliator meldet jedoch keinen Fehler, ist jedoch data
nicht korrekt. Ich möchte nur die Animation deaktivieren, falls zwischen Aktivitäten gewechselt wird. Ich kann getWindow().setWindowAnimations(0);
eher in onCreate oder onResume verwenden, aber die Verwendung von Flag ist besser, nicht wahr?
Ich kann auch im Code verwenden:
Intent intent = new Intent(v.getContext(), newactivity.class);
intent.addFlags(Intent.FLAG_ACTIVITY_NO_ANIMATION);
getContext().startActivity(intent);
Aber ich möchte dieses Flag in Android Manifest verwenden. Deaktivieren der Animation auch für den Fall, dass Sie von der zweiten Aktivität zur ersten zurückkehren.
Antworten:
Sie können einen Stil erstellen,
und legen Sie es als Thema für Ihre Aktivität im Manifest fest:
Sie können auch einen Stil definieren, um benutzerdefinierte Ein- und Ausstiegsanimationen anzugeben. http://developer.android.com/reference/android/R.attr.html#windowEnterAnimation
quelle
Wenn Ihr Kontext eine Aktivität ist, können Sie overridePendingTransition aufrufen :
Also programmatisch:
quelle
overridePendingTransition
wurde in API Level 5 hinzugefügt. Also nein, es funktioniert nicht auf "jeder" Android-Version, aber ich denke, Sie zielen auf ein höheres API Level als 5.Versuchen Sie diesen Code,
quelle
Sie können dies auch einfach in allen Aktivitäten tun, von denen Sie nicht wechseln möchten:
Ich mag diesen Ansatz, weil Sie sich nicht mit dem Stil Ihrer Aktivität herumschlagen müssen.
quelle
Dies ist kein Beispiel für eine Verwendung oder eine Erklärung zur Verwendung
FLAG_ACTIVITY_NO_ANIMATION
, es wird jedoch beantwortet, wie dieActivity
Schaltanimation deaktiviert wird , wie im Fragentitel angegeben:Android, wie deaktiviere ich den "Wipe" -Effekt, wenn ich eine neue Aktivität starte?
quelle
Hier ist eine Einzeiler-Lösung, die so niedrig ist, wie
minSdkVersion 14
Sie sie in sich einfügen solltenres/styles.xml
:wie so:
Prost!
quelle
Die Linie im Designstil funktioniert einwandfrei, ersetzt jedoch die Animation durch einen weißen Bildschirm. Besonders auf einem langsameren Telefon - es ist wirklich nervig. Wenn Sie also einen sofortigen Übergang wünschen, können Sie diesen im Themenstil verwenden:
quelle
Erstellen Sie Ihren eigenen Stil über Android: Theme
Verwenden Sie es dann in einem Manifest wie folgt:
quelle
Nach dem Start von Intent können Sie diesen Code verwenden:
Bei Verwendung funktioniert Intent ohne Animationen oder Übergänge
quelle