Android сохраняет состояние приложения после применения темы
Я создал приложение, где я могу переключаться между 2 темами (черный и белый) одним нажатием кнопки. И я установил тему по умолчанию как белый в манифесте.
Таким образом, каждый раз, когда приложение закрывается и перезапускается, состояние темы не сохраняется и применяется белая тема.
Может ли кто-нибудь дать мне некоторую идею или код, если это возможно, о том, как сохранить состояние приложения, различные способы сделать это?
Благодарю вас.
1 ответ
Имейте логический триггер, который вы проверяете SharedPreferences
за. Если логическое значение истинно, установите приложение в белый цвет. Если ложно, черный. Каждый раз, когда пользователь меняет желаемую тему, сохраняйте логическое значение в SharedPreferences
,
Пример кода:
В onCreate():
SharedPreferences mPrefs = getSharedPreferences("THEME", 0);
boolean theme_boolean = mPrefs.getBoolean("theme_boolean", true);
if (theme_boolean) {
// Set theme to white
} else {
// Set theme to black
}
В кнопке onClick():
if (theme_boolean) {
// Set theme to black
theme_boolean = false;
} else {
// Set theme to white
theme_boolean = true;
}
SharedPreferences mPrefs = getSharedPreferences("THEME", 0);
SharedPreferences.Editor mEditor = mPrefs.edit();
mEditor.putBoolean("theme_boolean", theme_boolean).commit();