实现夜间模式功能的正确方法

时间:2017-10-27 12:03:27

标签: android android-appcompat android-night-mode

我知道使用AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);夜间模式可以在活动中实现。但我想要的是 - 在所有活动中激活夜间模式的设置中都有一个选项&在应用程序中的片段。我怎么能这样做?

2 个答案:

答案 0 :(得分:4)

实现这一目标的一种方法:

  • 在设置活动(或任何)时选择动作夜间模式 可以维护一个标志(并保存在共享偏好或任何临时存储中)。

  • 在每项活动上检查此标记&片段和如果标志 是正面设置你使用的夜间模式,

    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);

答案 1 :(得分:2)

您可以使用NightModeHelper来实现此目的,只需在onCreate之后的活动顶部添加以下行super.onCreate();这里的想法是先执行此操作我们创建任何视图。因此,新视图将使用正确的配置。

mNightModeHelper = new NightModeHelper(this, R.style.AppTheme);

在此处查看演示https://github.com/zouliping/AndroidNightMode