4

В настоящее время я использую ContextCompat.getColor, однако он не выбирает правильный цвет. Когда приложение придерживается квалификатора ночного ресурса, ContextCompat выбирает цвет с values/colors.xml, а не values-night/colors.xml.Программно получить цвет от ресурса, используя ContextCompat, который не игнорирует ночной квалификатор

Я попытался apporaches как этот https://stackoverflow.com/a/13952929/333733, используя тему с одним проживающими в values/styles.xml и values-night/styles.xml но мне кажется, цвет прекомпилируется с помощью папки ресурсов без -night классификатора.

ответ

2

Вы можете проверить, какой режим тема в себя:

int currentNightMode = getResources().getConfiguration().uiMode 
     & Configuration.UI_MODE_NIGHT_MASK; 
switch (currentNightMode) { 
    case Configuration.UI_MODE_NIGHT_NO: 
     // Night mode is not active, we're in day time 
    case Configuration.UI_MODE_NIGHT_YES: 
     // Night mode is active, we're at night! 
    case Configuration.UI_MODE_NIGHT_UNDEFINED: 
     // We don't know what mode we're in, assume notnight 
} 

Источник: https://medium.com/@chrisbanes/appcompat-v23-2-daynight-d10f90c83e94#.l2fswuy4z

Смежные вопросы