Android 主题切换大作战
来源:互联网 发布:云计算行业大事件 编辑:程序博客网 时间:2024/04/28 04:02
现在很多app都可以更换软件的主题颜色,曾经刚开始接触手机QQ,被震惊到了,我擦这都可以。
哈哈,不谈年少无知的事情了,进入正题:android 切换主题颜色
1.自定义属性(attr.xml文件中)
<attr name="colorValue" format="color" />
2.定义不同的style风格(style.xml文件中)
<style name="PurpleTheme" parent="AppTheme"> <item name="colorValue">@color/title_bg</item> </style> <style name="GoldTheme" parent="AppTheme"> <item name="colorValue">@color/gold</item> </style>3.给Activity设置主题
设置顶部toolbar的背景颜色
android:background="?attr/colorValue"
设置主题(toolbar每页都有,所以封装到了BaseActivity中)
需要注意的是:setTheme()方法一定要在setContentView()之前调用
switch (type) { case 0: setTheme(R.style.PurpleTheme); break; case 1: setTheme(R.style.GoldTheme); break; }那应该怎么切换主题呢?
去网上查了之后,有人说用recreate()方法可以重新刷新下当前的Actvity,我在项目中尝试了,但是调用了recreate()方法就退出了,好不科学,一脸懵逼。(知道的朋友可以私信我)最后无奈就用了prism主题切换框架,但是prism框架只能改变当前页的主题(这一点让我很惊讶,好没用的框架,哈哈),所以如果要使当前Activity栈里的所有Activity主动切换主题,则需要手动地通知这些Activity(这边方法很多,我用的是EventBus)。
对主题切换框架prism不了解可以点这个网址 prismhttp://www.jcodecraeer.com/a/anzhuokaifa/androidkaifa/2015/0911/3440.html
0 0
- Android 主题切换大作战
- 【热门主题】约会大作战win7主题
- Android动态切换主题
- Android动态切换主题
- Android 应用主题切换
- Android主题切换方案
- Android动态切换主题
- Android动态切换主题
- android 切换主题
- Android 动态切换主题
- android主题切换
- android 切换主题实现
- android主题的切换
- Android app主题切换
- Android studio 切换主题
- Android 主题切换
- Android 切换主题demo
- android主题设置与主题切换
- [回溯法] 和尚挑水问题-华为笔试
- C语言面试题2
- ImageView 3D 翻转
- 电子时代我们怎样阅读
- 了解EventBus 3.0 (二)-发送事件
- Android 主题切换大作战
- JSON系列__软件框架说明
- spring
- 信噪比、信干比、载噪比、载干比之间的区别与联系
- 堆内存和栈内存
- Notepad++如何格式化N行为一行
- codeforces 368 B. Sereja and Suffixes
- Opengl菜单
- C. Guess the Array(codeforces)