系统的夜间模式切换
2016-11-08 17:46
375 查看
在所有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);
}
最后一点就是创建带-night资源文件夹
至此就可以实现白夜间模式切换了
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资源文件夹
至此就可以实现白夜间模式切换了
相关文章推荐
- Android 利用 系统自带方法切换夜间模式
- 系统自带方法设置日间和夜间模式切换
- Adapter模式实现数据访问层在B/S与C/S系统间的随意切换
- 夜间模式切换的实现库,只需三行代码实现流畅切换
- Android主题切换之探究白天和夜间模式
- 【GOF23设计模式】_状态模式_UML状态图_酒店系统房间状态_线程对象状态切换JAVA250
- Android夜间模式主题切换
- centos系统图形界面和命令行模式切换
- Android 夜间模式切换,颜色渐变效果实现
- 日夜间模式切换
- Android 实现切换主题皮肤功能(类似于众多app中的 夜间模式,主题包等)
- 白天夜间模式切换
- c613 夜间模式切换
- 夜间模式切换的实现库,只需三行代码实现流畅切换
- 开源中国源码学习(五)——切换皮肤(日间模式和夜间模式)
- 43.使用MultipleTheme换肤框架实现日、夜间模式的切换
- 夜间模式切换——setTheme()
- 简单实现日夜间模式切换
- 浅析Windows系统调用——2种切换到内核模式的方法
- Android夜间模式切换的方法