Android夜间模式官方api实现(AppCompatDelegate)

注意:需要   com.android.support:appcompat 23.2及以上的版本

主要由以下几步:

第一步、增加夜间模式的资源文件,如下图所示 Drawable-night, mipmap-night,values-night

Android 夜间模式的实现

 夜间模式与日间模式的里的命名必须一样,值可以不同,如下图  color里的命名一样,色值不一样,同理,drawable和mipmap也一样

Android 夜间模式的实现

 第二步、在 values—>styles.xml 中 修改你的主题样式,将你的主题 parent  改为  Theme.AppCompat.DayNight 或者 它的子类

 Android 夜间模式的实现

第三步、在Aplication里设置背景

Android 夜间模式的实现 

第四步、切换背景色的处理

AppCompatDelegate的 mode的取值有四种:

       AppCompatDelegate.MODE_NIGHT_NO  :白天模式
       AppCompatDelegate.MODE_NIGHT_YES  :夜间模式
       AppCompatDelegate.MODE_NIGHT_AUTO  :根据当前时间自动切换日夜间模式(比如北京时间22:00会自动切换为夜间)
       AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM :跟随系统
 

Android 夜间模式的实现

 

相关文章: