Android 切换主题demo

换肤的框架有很多种了:

  • MultipleTheme
  • Colorful
  • AndroidChangeSkin
  • http://www.jianshu.com/p/2164fa5803b9这里分别对他们进行了分析
今天,我这里写的是Theme + view 遍历的方法
参考博客:http://www.jianshu.com/p/3b55e84742e5
Android 切换主题demo_第1张图片
initTheme在setContentView之前,表示根据当前的Theme来设置打开Activity时候的一些颜色
Android 切换主题demo_第2张图片
在setContentView之后设置不会有任何变化

在点击CheackBox之后,
先设置shareprefrence里的主题的标志
再refreshUi刷新UI
refreshUi里面,这样做
1.获取当前的Theme
2.获取当前Theme的一些颜色值
3.遍历每一个view修改颜色值
4.修改状态栏颜色值

知乎的换肤方式多了一个动画
动画的原理是:
1.获取当前的decorview,转化成bitmap
2.在当前的decorview中添加这个bitmap
3.一个属性动画,让存放当前bitmap的view渐变成透明
4.动画结束之后移除这个view
5.refreshUi





你可能感兴趣的:(android,知识点)