Переключить режим Night Light в Android по коду - PullRequest
0 голосов
/ 10 июля 2019

Возможно ли активировать режим Night Light в Android? Я разрабатываю приложение автоматизации и в зависимости от условий пользователя мне нужно активировать ночной режим. Он вызывается по-разному в зависимости от поставщика (опять же, Android не очень стандартный), например, Blue Filter или Режим чтения. Я не нашел нигде в сети, чтобы закодировать это.

Я видел эту ссылку , но я не понимаю этого. Мне нужна такая функция:

public void setNightMode(Context target , boolean state){

    if (state) {
        //Enable Blue Light Filter
    } else {
        //Disable Blue Light Filter
    }

}

1 Ответ

0 голосов
/ 10 июля 2019

Да, вы можете установить режим на основе предпочтений вашего приложения, например, нижеприведенный код установит ночной режим

val mode = AppPreference.getInt(AppPreference.PREF_KEY_THEME, Theme.MODE_DAY)
    when (mode) {
        Theme.MODE_DAY -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
        Theme.MODE_NIGHT -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
        Theme.MODE_AUTO -> AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_AUTO)
    }

Вы можете следовать структуре каталогов, как на рисунке.enter image description here

Из этих значений цвета вы можете указать разные цвета для фона и шрифта.Даже у вас могут быть разные стили для ночного режима.

...