我最近想创建一个设置,在我的 android 应用程序中启用夜间模式,我在互联网上搜索并找到了一个很好的解决方案,其中包含 AppCompatDelegate 的 DayNight 主题和一个简短的代码片段......:
if(settingsSharedPreferences.getBoolean(getString(R.string.design_dark_design_key),false))
{
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
}
...为我的 MainActivity 启用暗模式(如果在我的应用设置中启用)。它工作得很好,并在“DarkMode”中改变了我的 MainActivity!但是,如果我打开另一个活动,这不会像主活动那样以暗模式出现,但是如果我将上面的代码行添加到这个新活动,它也会以暗模式开始。所以我的问题:
我是否必须在每个活动中调用此代码行,或者有没有办法为我的应用程序中的任何活动设置全局夜间模式?
更新:
我刚刚在 super.onCreate() 和 setContentView() 方法之前在一个新活动中调用了代码 baove,并且我的整个应用程序主题发生了变化。但是,如果我在 MainActivity 中调用它,我的 MainActivity 的主题就会发生变化......这真的很奇怪。我可以在 MainActivity 中更改整个主题吗?
提前谢谢你!