我创建了一个应用程序,我可以通过单击按钮在 2 个主题(黑色和白色)之间切换。我在清单中将默认主题设置为白色。
所以每次关闭并重新启动应用程序时,都不会保存主题状态,而是应用白色主题。
如果可能的话,谁能给我一些想法或代码,关于如何保存应用程序的状态,不同的方法来做到这一点?
谢谢你。
我创建了一个应用程序,我可以通过单击按钮在 2 个主题(黑色和白色)之间切换。我在清单中将默认主题设置为白色。
所以每次关闭并重新启动应用程序时,都不会保存主题状态,而是应用白色主题。
如果可能的话,谁能给我一些想法或代码,关于如何保存应用程序的状态,不同的方法来做到这一点?
谢谢你。
有一个您检查的布尔触发器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();