Android 安卓系统不';我不认为我的主题是黑暗模式

Android 安卓系统不';我不认为我的主题是黑暗模式,android,themes,darkmode,Android,Themes,Darkmode,我有两个主题。一是: <style name="ThemeDay" parent="Theme.AppCompat.Light.NoActionBar"> 主题被应用。但系统的行为与所选主题不同 例如,当系统处于亮模式而应用程序处于暗模式时,导航栏仍为白色,对话框仍为白色等 但当我打开instagram并切换到黑暗模式时,系统的行为也和它在黑暗模式下的行为一样 我做错了什么?如何解决此问题?DayNight主题根据系统设置(默认)或您的设置/

我有两个主题。一是:

<style name="ThemeDay" parent="Theme.AppCompat.Light.NoActionBar">
主题被应用。但系统的行为与所选主题不同

例如,当系统处于亮模式而应用程序处于暗模式时,导航栏仍为白色,对话框仍为白色等

但当我打开instagram并切换到黑暗模式时,系统的行为也和它在黑暗模式下的行为一样


我做错了什么?如何解决此问题?

DayNight
主题根据系统设置(默认)或您的设置/强制(例如,使用
AppCompatDelegate.setDefaultNightMode()
)自动选择深色或浅色参数/颜色


当您的系统中有灯光主题,并且您将为您的应用程序使用
DayNight
主题时,仍然没有覆盖的颜色将与“灯光”主题中的颜色相同

是。那是我的问题。如何修复或覆盖正确的颜色?仅使用
DayNight
主题,并根据当前设置的主题覆盖某些颜色(系统取决于或由您强制)。将您的值(例如颜色)放在灯的
values
文件夹中,晚上放在
values night
文件夹中(例如,两个分开的
colors.xml
文件,每天使用正确的颜色/night主题化),您的
GenelUtil.getNightMode()
应该是
AppCompatDelegate.getDefaultNightMode()
,我打赌你当前的aproach只是在应用程序内部切换一些
布尔值,可能存储在
SharedReferences
中,但仍然没有通知
AppCompatDelegate
你已经在SharedReferences中设置了“暗”眼。但是
AppCompatDelegate.setDefaultNightMode()
工作正常。非常感谢。
<style name="ThemeNight" parent="Theme.AppCompat.DayNight.NoActionBar">
if(GenelUtil.getNightMode()){
    setTheme(R.style.ThemeNight);
}else{
    setTheme(R.style.ThemeDay);
}