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();
Другие вопросы по тегам