Мы внедрили ночной режим в наше приложение. это работает как шарм, за исключением его перехода. Мы используем класс базового приложения для его реализации. Проблема в том, что, что бы мы ни пытались, мы не смогли добиться плавного перехода при изменении конфигурации.
Мы постарались реализовать анимацию входа и выхода в нашем стиле. Но это относится ко всей деятельности. Таким образом, это также влияет на другие переходы активности. Так что это не сработало.
Как видно из изображения, при изменении конфигурации на экране появляется черное мерцание.
Код изменения конфигурации:
public static void applyTheme(@NonNull String themePref) {
switch (themePref) {
case LIGHT_MODE: {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
Log.d(Statics.LOG_TAG, "Applying day mode");
break;
}
case DARK_MODE: {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
Log.d(Statics.LOG_TAG, "Applying night mode");
break;
}
default: {
Log.d(Statics.LOG_TAG, "Applying automatic mode");
if (BuildCompat.isAtLeastP()) {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY);
}
break;
}
}
}
Спасибо, что прочитали это. Любая помощь приветствуется.