前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Scoops android app多主题架构(一)

Scoops android app多主题架构(一)

作者头像
用户1263308
发布2018-02-01 18:47:38
8840
发布2018-02-01 18:47:38
举报
文章被收录于专栏:代码GG之家代码GG之家

简要说明

Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现。

原理分析

主要通过设置主题(存储设置值), 重启activity,通过setTheme方式设置style实现。

使用方法

1 项目的build.gradle里面
2 模块的build.gradle里面
3 values里面加入themes.xml

配置一些主题,为了多主题更换使用

4 AndroidManifest.xml里面

配置上默认主题,这里要注意的是配置的和5里面写的默认的那个要一致

5 MainApp里面

完成初始化,主要设置一系列的主题。其中addToppings为的是注释的时候使用,后面会讲它的用法。 setSharedPreferences 配置默认的存储key值 addDayNightFlavor 设置DayNight的主题风格,这个随后会讲到。

6 在MainAcitvity里面

1:需要继承AppCompatActivity 2:需要在setContentView前面调用Scoop.getInstance().apply(this);将主题设置进来。

3:这里说下为什么需要在AndroidManifest.xml里面配置默认主题,因为Scoops设计,在判断主题没有更改的情况下,不进行设置主题,因此第一次进来不会设置。所以我们要配置默认主题。并且和MainApp里面设置的默认值一样。

这里的true第三个参数说明设置为默认主题,和我们在AndroidManifest.xml设置的主题一致即可。

7 效果如下
8 代码地址

官网 地址 https://github.com/52inc/Scoops demo地址 https://github.com/luxiaoming/ScoopsDemo

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2016-07-09,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 代码GG之家 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1 项目的build.gradle里面
  • 2 模块的build.gradle里面
  • 3 values里面加入themes.xml
  • 4 AndroidManifest.xml里面
  • 5 MainApp里面
  • 6 在MainAcitvity里面
  • 7 效果如下
  • 8 代码地址
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档