Невозможно переключиться на какую-либо тему, например, темную, светлую, системную и т. Д

#android #android-theme #android-styles #android-dark-theme #kotlin-android

Вопрос:

Я не могу переключить тему, хотя при изменении опции также работает нормально, общие настройки сохраняют правильное значение для последней выбранной темы.

MyApp.kt

 class MyApp : Application() {   override fun onCreate() {  super.onCreate()  AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.getDefaultNightMode())  } }  

Theme.xml

 lt;style name="AppTheme" parent="Theme.MaterialComponents.DayNight.NoActionBar"gt;  lt;item name="colorPrimary"gt;@color/colorPrimarylt;/itemgt;  lt;item name="colorPrimaryDark"gt;@color/colorPrimaryDarklt;/itemgt;  lt;item name="colorAccent"gt;@color/colorAccentlt;/itemgt;  lt;item name="android:windowTranslucentNavigation"gt;truelt;/itemgt;  lt;item name="android:navigationBarColor"gt;@android:color/transparentlt;/itemgt;  lt;/stylegt;  

Основная активность.тыс. т

 binding.themeGroup.setOnCheckedChangeListener { _, checkedId -gt;  when (checkedId) {  R.id.themeLight -gt; setTheme(AppCompatDelegate.MODE_NIGHT_NO, THEME_LIGHT)  R.id.themeDark -gt; setTheme(AppCompatDelegate.MODE_NIGHT_YES, THEME_DARK)  R.id.themeBattery -gt; setTheme(AppCompatDelegate.MODE_NIGHT_AUTO_BATTERY, THEME_BATTERY)  R.id.themeSystem -gt; setTheme(AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM, THEME_SYSTEM)  }  }  private fun setTheme(themeMode: Int, prefsMode: Int) {  AppCompatDelegate.setDefaultNightMode(themeMode)  storeTheme(prefsMode)  //activity?.recreate() // no luck w/o commenting  }  

У меня есть 2 папки, values и values-night . Каждый из них имеет соответствующие цвета. Внутри есть только 1 theme.xml values папка.