Deaktivieren Sie die Fenster- und Übergangseinstellungen

Ich muss also die Fenster- und / oder Übergangsanimationen im Code ein- und ausschalten, um den gleichen Effekt wie unter Einstellungen> Anzeige> Animationen> Alle Animationen deaktivieren zu erzielen.

Ich bin mit dem Ändern von Geräteeinstellungen vertraut, indem ich einen ContentResolver in der Settings.System.putInt () -Methode wie folgt verwende:

ContentResolver cr = getContentResolver();
Settings.System.putInt(cr, Settings.System.WINDOW_ANIMATION_SCALE, 0);

Wie in der Dokumentation 'Setzen auf 0 deaktiviert alle .... Animationen' für beide Einstellungen beschrieben. Wenn Sie die Einstellung vor und nach der Verwendung der putInt () -Methode lesen, gehen Sie folgendermaßen vor:

Settings.System.getString(cr, Settings.System.WINDOW_ANIMATION_SCALE);

Ich kann sehen, dass die Einstellung geändert wird. Wenn Sie dann etwas tun, um ein Fenster oder eine Übergangsanimation zu starten, ist es offensichtlich, dass die Einstellung keinen Unterschied macht und der Übergang immer noch stattfindet.

Ich möchte auch darauf hinweisen, dass ich beim Ändern der Einstellung auf dem Einstellungsbildschirm feststellen kann, dass die Einstellung geändert wurde, wenn ich meine Anwendung erneut ausführe. Es scheint also, dass dies die richtige Einstellung ist und dass meine Anwendung sie nicht richtig ändert.

Fehlt mir noch etwas?

Danke im Voraus.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage