新项目准备时期,我作为副手配合主程来进行代码编写,主程给我的任务就是做个夜间模式,仿网易新闻那样的就行。
谷歌百度了几天,发现网上的资料大概以下这三个解决方案:
1、attr+style,然后用setTheme()来以设置主题的方式切换。
优点:操作简单,逻辑也很容易写明白。
缺点:当前页面和未销毁的页面想要切换必须重新加载,因为setTheme()方法必须在setContentView(layoutId)之前执行。
2、UI组件setBackgroudColor/Drawable。
优点:及时性,不需要刷新页面。
缺点:虽然就日间跟夜间两套布局,但是如果程序页面很多,并且布局复杂,就很苦逼了。
3、我看有前辈说自定义组件,通过改变组件的AttributeSet,来达到切换的目的。
这个我没搞出来。囧。。。


发布评论