我知道通过使用AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
夜间模式可以在活动中实现。但我想要的是——在应用程序的所有活动和片段中,设置中会有一个激活夜间模式的选项。我怎样才能做到这一点?
问问题
4262 次
2 回答
7
实现这一目标的一种方法:
当您在设置活动(或任何)中选择动作夜间模式时,您可以维护一个标志(并保存在 sharedpreference 或任何临时存储中)。
检查每个活动和片段上的这个标志,如果标志是肯定的,设置你使用的夜间模式,
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
于 2017-10-27T13:12:01.100 回答
3
您可以使用NightModeHelper来实现这一点,只需在您的活动顶部添加以下行,onCreate
就在super.onCreate();
此处的想法是在我们创建任何视图之前执行此操作。所以新视图将使用正确的配置。
mNightModeHelper = new NightModeHelper(this, R.style.AppTheme);
于 2017-10-27T13:13:38.243 回答