博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
apkplug主题皮肤切换之通用主题-04
阅读量:6417 次
发布时间:2019-06-23

本文共 834 字,大约阅读时间需要 2 分钟。

hot3.png

 该文章基于V1.6.9版本

    apkplug主题切换有两个层次的切换,这篇文章只讲解通用主题切换层次

一 何为通用主题切换

    apkplug通用主题切换可以简单的理解为一套可动态替换的系统主题(由主题包提供)。它是apkplug在系统主题与应用activity主题之间新增的一层主题样式。它们之间有叠加关系

注:系统主题只支持对Button,ListView,Activity背景等已定义的系统控件样式进行切换,普通应用可通过(Activity.setTheme())设置系统或自定义主题。

二 apkplug通用主题的作用

    由以上图示,我们可通过一些设置实现动态替换一些系统控件的样式,Button,背景图片,字体,颜色,大小等。

三 apkplug通用主题方案设置流程

    1.主题包按照安卓主题设计流程设计一套主题样式如:    

    2.通过以下代码将该主题设置为apkplug层主题 

OSGIServiceAgent
agent=new OSGIServiceAgent
(mcontext,ThemeControl.class.getName());agent.getService().setTheme(mcontext,mcontext.getBundle(), R.style.AppTheme_Another);

三 apkplug通用主题的局限性

    因为主题是叠加的关系,所以apkplug的主题样式很可能无法全部适用到上层的Activity界面中,因为大部分情况下我们会单独对Activity的布局和控件做一些处理。

四 解决方案

    因为通用主题的局限性,所以我们又为apkplug设计了一套适用于自定义控件的主题切换方案,通过这套方案开发者可以很简单灵活的定义切换规则且不失灵活性。我们称之为"自定义主题切换"

转载于:https://my.oschina.net/u/138488/blog/269238

你可能感兴趣的文章
一些常用的网络命令
查看>>
CSP -- 运营商内容劫持(广告)的终结者
查看>>
DIV+CSS命名规范有助于SEO
查看>>
js生成二维码
查看>>
C指针练习
查看>>
web项目buildPath与lib的区别
查看>>
php对redis的set(集合)操作
查看>>
我的友情链接
查看>>
ifconfig:command not found的解决方法
查看>>
js使用正则表达式判断手机和固话格式
查看>>
计算机是怎么存储数字的
查看>>
Codeforces Round #369 (Div. 2) A. Bus to Udayland 水题
查看>>
adb上使用cp/mv命令的替代方法(failed on '***' - Cross-device link解决方法)
查看>>
C++标准库简介、与STL的关系。
查看>>
Spring Boot 3 Hibernate
查看>>
查询EBS请求日志的位置和名称
查看>>
大型机、小型机、x86服务器的区别
查看>>
J2EE十三个规范小结
查看>>
算法(第四版)C#题解——2.1
查看>>
网关支付、银联代扣通道、快捷支付、银行卡支付分别是怎么样进行支付的?...
查看>>