Плавный переход Android – overridePendingTransition ⇐ Android

Форум для тех, кто программирует под Android
Anonymous
Плавный переход Android – overridePendingTransition

Сообщение Anonymous »

Для старых версий Android я использовал overridePendingTransition(0, 0); просто для плавного перехода после завершения и повторного открытия действия путем смены языка:

Код: Выделить всё

   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);

}
Мне здесь не нужна никакая анимация, поэтому я использую (0,0), и перезапуск активности происходит плавно, без каких-либо миганий, поэтому пользователь ничего не заметит.
Но для SKD 34+ overridePendingTransition устарел, поэтому я попробовал использовать overrideActivityTransition:

Код: Выделить всё

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);
}
Однако для этого требуется Activity.OVERRIDE_TRANSITION_OPEN или Activity.OVERRIDE_TRANSITION_CLOSE. Не имеет значения, использую ли я overridePendingTransition или нет, или с помощью OPEN или CLOSE, после смены языка экран дисплея перемещается справа налево, и язык меняется.
Как это сделать без проблем на SDK34+?


Подробнее здесь: https://stackoverflow.com/questions/793 ... transition

Вернуться в «Android»