Android夜间模式官方api实现(AppCompatDelegate)
注意:需要 com.android.support:appcompat 23.2及以上的版本
主要由以下几步:
第一步、增加夜间模式的资源文件,如下图所示 Drawable-night, mipmap-night,values-night
夜间模式与日间模式的里的命名必须一样,值可以不同,如下图 color里的命名一样,色值不一样,同理,drawable和mipmap也一样
第二步、在 values—>styles.xml 中 修改你的主题样式,将你的主题 parent 改为 Theme.AppCompat.DayNight 或者 它的子类
第三步、在Aplication里设置背景
第四步、切换背景色的处理
AppCompatDelegate的 mode的取值有四种:
AppCompatDelegate.MODE_NIGHT_NO :白天模式
AppCompatDelegate.MODE_NIGHT_YES :夜间模式
AppCompatDelegate.MODE_NIGHT_AUTO :根据当前时间自动切换日夜间模式(比如北京时间22:00会自动切换为夜间)
AppCompatDelegate.MODE_NIGHT_FOLLOW_SYSTEM :跟随系统