Как справиться с переходом ночного режима? - PullRequest
1 голос
/ 24 апреля 2020

Мы внедрили ночной режим в наше приложение. это работает как очарование за исключением его перехода. Мы используем класс Base Application для его реализации. Проблема не в том, что мы пробовали, мы не смогли добиться плавного перехода при изменении конфигурации.

Мы попытались реализовать анимацию входа и выхода в нашем стиле. Но это относится ко всей деятельности. Так что это также влияет на другие переходы деятельности. Так что это не сработало.

Как видно из изображения, при изменении конфигурации на экране появляются черные мигания.

enter image description here

Изменение конфигурации Код:

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

Спасибо, что прочитали это. Любая помощь приветствуется.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...