在所有Activity的基类中初始化显示哪种模式
private void initDayNightMode() {
if ((boolean)SPUtils.get(this,AppConfig.NIGHT_THEME_MODE,false)) {//获取保存的是哪个肤色
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
}
下面两个方法去手动切换
//切换到夜间模式
public void changeToNight() {
SPUtils.put(oThis, AppConfig.NIGHT_THEME_MODE, true);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
}
//切换到白天模式
public void changeToDay() {
SPUtils.put(oThis, AppConfig.NIGHT_THEME_MODE, false);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
private void initDayNightMode() {
if ((boolean)SPUtils.get(this,AppConfig.NIGHT_THEME_MODE,false)) {//获取保存的是哪个肤色
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_YES);
} else {
AppCompatDelegate.setDefaultNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
}
下面两个方法去手动切换
//切换到夜间模式
public void changeToNight() {
SPUtils.put(oThis, AppConfig.NIGHT_THEME_MODE, true);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_YES);
}
//切换到白天模式
public void changeToDay() {
SPUtils.put(oThis, AppConfig.NIGHT_THEME_MODE, false);
getDelegate().setLocalNightMode(AppCompatDelegate.MODE_NIGHT_NO);
}
最后一点就是创建带-night资源文件夹
至此就可以实现白夜间模式切换了