夜间模式切换的实现库,只需三行代码实现流畅切换

Implementation of night mode for Android.

用最简单的方式实现夜间模式,支持ListView、RecyclerView

项目GitHub地址: https://github.com/zhangke3016/ChangeMode

Preview


ChangeMode

Usage xml

    android:background="?attr/zzbackground"
    app:backgroundAttr="zzbackground"//如果当前页面要立即刷新,这里传入属性名称  比如R.attr.zzbackground  传zzbackground即可
    
    android:textColor="?attr/zztextColor"
    app:textColorAttr="zztextColor"//如需立即刷新页面效果  同上

java

@Override
    protected void onCreate(Bundle savedInstanceState) {
            // 在要立即切换效果的页面调用此方法
            ChangeModeController.getInstance().init(this,R.attr.class).setTheme(this, R.style.DayTheme, R.style.NightTheme);
            //在其他页面调用此方法  
            //ChangeModeController.setTheme(this, R.style.DayTheme, R.style.NightTheme);
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //添加额外view至夜间管理
        // ChangeModeController.getInstance().addBackgroundColor(toolbar, R.attr.colorPrimary);
        //ChangeModeController.getInstance().addBackgroundDrawable(view,R.attr.colorAccent);
       // ChangeModeController.getInstance().addTextColor(view,R.attr.colorAccent);


       // 设置切换
       //ChangeModeController.changeDay(this, R.style.DayTheme);
       //ChangeModeController.changeNight(this, R.style.NightTheme);
    }
         
 @Override
    protected void onDestroy() {
        super.onDestroy();
        //   在onDestroy调用
        ChangeModeController.onDestory();
    }

详细操作描述


第一步:自定义属性



                
                
                
                


第二步:配置夜间style文件