我正在尝试实现深色和浅色主题之间的主题切换。为 values-night 创建了 values 文件夹的副本,并分别为深色和浅色定义了两种不同的颜色。但是,当按下按钮切换主题时,它不起作用。相反,它适用于 Android 系统 UI 主题选择(意味着如果我从 Android 设备设置菜单切换主题。)当我从我的应用程序中单击切换主题时,我想让它工作。
以下代码用于切换主题:
if (isDarkModeOn) {
System.out.println("Dark mode is on: so disable it");
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
btnTheme.setText("Enable Dark Mode");
} else {
System.out.println("Dark mode is off: so enable it");
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
btnTheme.setText("Disable Dark Mode");
}
requireActivity().recreate();
应用主题也正确设置为:
<style name="AppTheme" parent="Theme.AppCompat.DayNight"></style>
请提出适当的方法来解决这个问题。提前致谢。