Reibungsloser Android-Übergang – overridePendingTransition
Posted: 07 Jan 2025, 10:53
Für ältere Androiden habe ich overridePendingTransition(0, 0); nur für einen reibungslosen Übergang nach Abschluss und erneutem Öffnen einer Aktivität durch Sprachwechsel verwendet:
Ich brauche hier keine Animationen, deshalb verwende ich (0,0) und der Neustart der Aktivität erfolgt reibungslos, ohne Blinken, sodass der Benutzer nichts bemerkt.
Aber für SKD 34+ ist overridePendingTransition veraltet, daher habe ich versucht, overrideActivityTransition:
zu verwenden
Allerdings ist Activity.OVERRIDE_TRANSITION_OPEN oder Activity.OVERRIDE_TRANSITION_CLOSE erforderlich. Es spielt keine Rolle, ob ich overridePendingTransition verwende oder nicht, oder mit OPEN oder CLOSE, nachdem ich die Sprache geändert habe, wischt der Bildschirm von rechts nach links und die Sprache ändert sich.
Wie geht das reibungslos mit SDK34+?
Code: Select all
private void saveLang(String lng) {
SharedPreferences sharedPreferences = PreferenceManager.getDefaultSharedPreferences(this);
sharedPreferences.edit().putString("norsegods_langx", lng).apply();
Intent i = new Intent(MainActivity.this, MainActivity.class);
startActivity(i);
finish();
overridePendingTransition(0, 0);
}
Aber für SKD 34+ ist overridePendingTransition veraltet, daher habe ich versucht, overrideActivityTransition:
zu verwenden
Code: Select all
if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.UPSIDE_DOWN_CAKE) {
//for API Level 34+
overrideActivityTransition(Activity.OVERRIDE_TRANSITION_OPEN, 0, 0);
} else {
overridePendingTransition(0, 0);
}
Wie geht das reibungslos mit SDK34+?