本篇文章主要介绍了" Scoops android app多主题架构(一)",主要涉及到方面的内容,对于Android开发感兴趣的同学可以参考一下:
简要说明 Scoops是一个android应用库,主要解决的是多主题实现方案。通过配置多个R.style.Theme ,代码进行动态设置主题,重启当前界面实现...

简要说明
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:需要继承AppCompatActivity2:需要在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

').addClass('pre-numbering').hide();
$(this).addClass('has-numbering').parent().append($numbering);
for (i = 1; i <= lines; i++) {
$numbering.append($('
').text(i));
};
$numbering.fadeIn(1700);
});
});
以上就介绍了 Scoops android app多主题架构(一),包括了方面的内容,希望对Android开发有兴趣的朋友有所帮助。
本文网址链接:http://www.codes51.com/article/detail_2454333.html