Я пытаюсь реализовать переключение между темной и светлой темой. Создал дубликат папки values в values-night и определил два разных цвета для темного и светлого соответственно. Однако пока нажмите кнопку для переключения темы, это не сработает. Вместо этого он работает с выбором темы пользовательского интерфейса системы Android (это означает, что я переключаю тему из меню настроек устройства 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>
Пожалуйста, предложите подходящий способ решения этой проблемы. Заранее спасибо.