暗黑模式

  1. 主题继承Theme.AppCompat.DayNight或者它的子主题。

    <style name="AppTheme" parent="Theme.AppCompat.DayNight">
            <!-- Customize your theme here. -->
            <item name="colorPrimary">@color/colorPrimary</item>
            <item name="colorPrimaryDark">@color/colorPrimaryDark</item>
            <item name="colorAccent">@color/color_blue</item>
     </style>
  2. 在values-night,drawable-night,mipmap-night等目录提供夜间颜色,图片等

  3. 切换夜间/白天模式,调用之后会重新创建页面

    //日间 切换 夜间
    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO)
    //夜间 切换 日间  
    AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES)
    
    MODE_NIGHT_FOLLOW_SYSTEM 模式:设置为跟随系统,通常为 MODE_NIGHT_NO 即日间模式
    MODE_NIGHT_AUTO模式:自动模式,当我们的APP有网络及定位权限时。系统会根据当地的时间判断当前时处于白天还是黑夜,从而自动加载不同的模式
    if((getResources().getConfiguration().uiMode & Configuration.UI_MODE_NIGHT_MASK) == Configuration.UI_MODE_NIGHT_YES) {      
    //是黑夜模式
    }

Last updated

Was this helpful?