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

Scoops android app多主题架构(三)

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

白天夜间主题

  • 很多应用都有这个功能,可以选择白天和夜间模式,给用户更好的体验。为此,系统也提供了一种机制,来实现此功能。
  • 模式主要分为四种 夜间 白天 跟随系统 和自动。具体实现可以去看com.android.support:appcompat-v7:23.0.0源码

夜间和白天模式很好理解。自动就是根据时间判断是否为白天和夜间,自动选择对应主题。 跟随系统则使用系统的值,依赖系统。

实现原理

通过两组主题,分别放在values和values-night下面,系统根据你设置的模式,对应的去找主题配置值,然后设置上去即可。

使用说明

  • 不使用Scoops

1自定义一个属性Attrs.xml

这里可以看到定义了两个属性textColor和textSize 格式分别为color和dimension

2创建一个目录values-night

3在values和values-night下面新建一个文件themes.xml,同时配置相同的主题,加入我们自定义的属性textColor,给它配置值。

values下的属性

values-night下的属性

4使用的地方

这里mMode的值可以取以下几个

MODE_NIGHT_FOLLOW_SYSTEM MODE_NIGHT_YES MODE_NIGHT_NO MODE_NIGHT_AUTO

5我们配置下使用的地方

这里的 android:textColor=”?attr/textColor” 记住用的是?attr来使用自定义的属性

6具体的结果,看Primary Color颜色变化

7代码地址: https://github.com/luxiaoming/ScoopsDemo

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

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档