DayNight игнорировать особые действия - PullRequest
0 голосов
/ 23 апреля 2019

Можно ли заставить Android игнорировать определенные действия, переключая дневной режим на ночной, наряду с другими действиями?

На данный момент возможный обходной путь таков:

  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    if (savedInstanceState == null) {
      // Set the local night mode to some value
      getDelegate().setLocalNightMode(
                AppCompatDelegate.MODE_NIGHT_...);
      // Now recreate for it to take effect
      recreate();
    }
  }
}

Однако,это заставляет меня каждый раз воссоздавать активность.Можно ли просто создать его автоматически в MODE_NIGHT, не создавая его заново, независимо от того, что было установлено для остальной части приложения?

1 Ответ

1 голос
/ 23 апреля 2019

Сделай так

public void onCreate(Bundle savedInstanceState) {
    getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
    // use this to keep mode after exit activity
    // AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
    super.onCreate(savedInstanceState);
}

Звоните setDefaultNightMode или setLocalNightMode до super.onCreate

...