【HomeBack】酷市场主题风格切换的简单实现
来源:互联网 发布:wish产品怎么优化 编辑:程序博客网 时间:2024/05/16 14:22
好久没写博客了,还是不能停下,不然不常用的容易忘记,所以准备继续记录自己所学。
现在许多应用都支持更换主题,比如扣扣,网易云音乐。我所知道的流行换肤框架有Android-Skin-Loader和Android-skin-support还有Colorful。大家有兴趣在项目中添加换肤功能的可以去研究学习下这些框架。
不过从酷市场的开源相关中并未看到换肤相关的框架,当然了,严格上这个不能称之为换肤,酷市场里叫做主题风格。
其实我是在很久之前看过一篇文章,是讲夜间模式的简单实现。当时只是随意看了下源码,知道是Android支持包引入的新能力就放下了,现在做下记录一面忘记。
先看一下酷市场的界面:
AppCompatDelegate是一个委托代表,它将AppCompatActivity的特性提供给Activity。
我们来看AppCompatActivity源码,可以看到在oncreate时进行创建实例:
然后我们就可以通过 AppCompatDelegate来切换夜间模式和toolbar颜色。
先看我们的界面以及效果吧:
首先是 夜间模式的切换:
新建values-night:
我们这里只以主题颜色为例,新建colors资源文件:
在代码中实现模式切换:
而单纯的toolbar颜色的更改比较简单,直接给toolbar设置背景颜色即可,在实际效果中酷市场有过度效果,实现起来也很简加个动画即可:
ObjectAnimator objectAnimator = ObjectAnimator.ofInt(toolbar, "backgroundColor", SharePrefs.getInt(MainActivity.this, "toolBarColor", bean.getColorRes()), bean.getColorRes());objectAnimator.setDuration(500);objectAnimator.setEvaluator(new ArgbEvaluator());objectAnimator.start();
github地址:https://github.com/VongVia1209/DayAndNight
0 0
- 【HomeBack】酷市场主题风格切换的简单实现
- 简单的主题切换方法
- 通过模板页master page和主题theme来实现网站的风格切换
- Android 、切换主题的实现
- Android 切换应用主题风格
- 简单的主题白天夜间切换
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- Web站点风格切换的实现
- android 切换主题实现
- javascript的应用,简单设计切换网页主题的应用
- android主题的切换
- XP主题风格的绘制
- c++ assert() 使用方法
- Redhat 7.1 离线安装 gcc
- ZOJ 3780 Paint the Grid Again(拓扑排序)
- 【机器学习】生成模型和判别模型
- maven在eclipse中的配置(步骤)
- 【HomeBack】酷市场主题风格切换的简单实现
- 如何用Consul打造弹性可扩展的PaaS平台
- ssh公钥密钥无密码登陆
- CF-Codeforces Round #409 (rated, Div. 2, based on VK Cup 2017 Round 2)-B-Valued Keys
- 新手ps做校园活动海报
- ACM-动态规划19-最低通行费
- Cmake “cmake_make_program is not set” 问题。
- java中this的用法简介
- 仿arrow.io之人物属性