在所有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資源文件夾
至此就可以實現白夜間模式切換了