Тема менялась вместе с системной темой
У большинства программ есть выбор между Тёмной и Светлой темой. Некоторые программы не имея пункта Системная тема все равно меняются вместе с системой. Где нужно подправить код (xml) что бы тема менялась вместе с системной темой?
Ответы (1 шт):
Автор решения: Andrew
→ Ссылка
Ну если исключить из задачи написание за вас стилей для темы, то отловить текущий режим (темный/светлый) можно так:
switch (getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) {
case Configuration.UI_MODE_NIGHT_YES:
//process
break;
case Configuration.UI_MODE_NIGHT_NO:
// process
break;
}
дальше вы на момент загрузки приложения проверяете статус и дальше используете тему которая соответствует цветности. Плюс нужно в манифесте установить прослушивание изменений данного параметра:
<activity
android:name=".MyActivity"
android:configChanges="uiMode" />
Вот есть документация по вашему вопросу и туториал как реализовать подобный функционал.