1

我有两个主题。一种是:

<style name="ThemeDay" parent="Theme.AppCompat.Light.NoActionBar">

另一种是:

<style name="ThemeNight" parent="Theme.AppCompat.DayNight.NoActionBar">

我以前在这样的每一个活动中都应用了主题super.onCreate()

if(GenelUtil.getNightMode()){
    setTheme(R.style.ThemeNight);
}else{
    setTheme(R.style.ThemeDay);
}

应用主题。但系统的行为不像选定的主题。

例如,当系统为浅色模式而应用程序为深色模式时,导航栏仍为白色,对话框仍为白色等。

但是当我打开 Instagram 并切换到暗模式时,系统的行为也像在暗模式下一样。

我在这里做错了什么?我怎样才能解决这个问题?

4

1 回答 1

2

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

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

于 2020-10-08T12:34:16.477 回答