【oschina android源码分析】切换夜间模式的实现

来源:互联网 发布:2016年癌症数据 权威 编辑:程序博客网 时间:2024/06/09 08:00

点击夜间模式按钮监听方法

    private void switchTheme() {        if (AppContext.getNightModeSwitch()) {            AppContext.setNightModeSwitch(false);        } else {            AppContext.setNightModeSwitch(true);        }        if (AppContext.getNightModeSwitch()) {            getActivity().setTheme(R.style.AppBaseTheme_Night);        } else {            getActivity().setTheme(R.style.AppBaseTheme_Light);        }        getActivity().recreate();    }

说明:
1. 页面模式的配置在本地要保存。AppContext.setNightModeSwitch(false);
2. 调用setTheme方法。系统写两套主题:AppBaseTheme_Light和AppBaseTheme_Night。
3. 调用getActivity().recreate()。

更具体的原理解释请见:
http://www.kymjs.com/code/2015/05/26/01
http://echo.vars.me/android/android-night-mode/

0 0
原创粉丝点击