提问者:小点点

如何使用RadioButton进行黑暗模式以及如何在关闭和再次打开应用程序时保持主题的状态


也许我这里已经有了那个答案,只是我没有找到。

我正在android studio中制作一个android应用程序,我有两个活动,例如。

主activity(它是您启动应用程序时的第一个activity)称为mainactivity。

第二个activity称为MainSettings(它是activity,也就是应用程序的主题设置)。

图片显示activity“MainSettings”

第二个主要设置activity的图像

在“MainSettings”activity中,我有一个带有三个RadioButton的RadioGroup。

第一个RadioButton(总是亮的)显然应该总是亮的,即使android在亮或暗模式下,它也总是亮的,只有在应用程序中。

第二个RadioButton(始终为暗)显然必须始终为暗,即使android也处于亮或暗模式,它将始终为暗,只有在应用程序内。

第三个RadioButton(Follow System)显然应该总是选择android系统的颜色,并将整个应用程序保留为android的定义颜色。

并且我想在关闭和再次打开应用程序时保持我选择的颜色状态。

该应用程序还将改变第一个“MainActivity”activity的颜色,并在我关闭和重新打开它时保持该颜色。 如果我有其他活动,也会发生同样的情况。

我在这方面很业余,已经警告过了。

我已经准备好了colors.xml中的colors和styles.xml中的v,并使用“theme.appcompat.daynight”

所以我只是想要命令的部分,即使在Java,只是命令RadioButton做我所说的一切。


共1个答案

匿名用户

SharedPreferences中保存所选模式

SharedPreferences pref = getApplicationContext().getSharedPreferences("MyPref", 0); // 0 - for private mode
Editor editor = pref.edit();

存储数据

//0 for Light mode, 1 for Dark mode, 2 for System mode
public void saveMode(int mode){
editor.putInt("mode", mode);
}

检索数据

pubic void getMode(){
pref.getInt("key_name", 0);//0 is default value
}

然后在activity的onCreate()中获取您选择的模式