主题切换

android下apkplug通用主题(皮肤)切换解决方案之主题包开发-02

随声附和 提交于 2019-12-03 03:39:27
该文章是基于apkplug V1.6.8 进行说明的 我们提供了一个demo做为参考,项目下载地址为: http://git.oschina.net/plug/IMThemeDemo 该 IMThemeDemo 实现了简单的聊天泡泡切换功能,同时主题包(插件)是托管在apkplug的云服务器上的。所以要阅读项目的完整代码可以先看插件托管服务开发系列文章 < 插件托管服务开发指南 > demo运行效果图: 上一篇文章我们实现了主应用的开发,本篇应用我们开发主题包(插件)。 一,主题包说明 apkplug主题(换肤)解决方案中的主题包本质上是一个完整的apk应用程序或者说是apkplug的插件,但它有以下的不同 1.主题包对外提供主题样式资源。 2.主题包必须上传apkplug官网进行编译,生成的apk才能提供主题切换。否则即为普通apk 二,主题包(插件)搭建 1.按照普通app创建流程创建安卓工程 2.按照apkplug插件开发流程添加必要文件 < apkplug插件开发 > osgi.jar应使用osgi1.6.8.jar 3.将主应用导出的主题切换接口jar包(IMTheme.jar)导入工程 com.apkplug.imthemedemo.themeinterface.chatstyles 三,创建主题控件样式资源 与普通app开发一样,我们创建一些用于聊天泡泡按钮背景的资源

android下apkplug通用主题(皮肤)切换解决方案之主应用-01

醉酒当歌 提交于 2019-12-03 03:38:59
该文章是基于apkplug V1.6.8 进行说明的 我们提供了一个demo做为参考,项目下载地址为: http://git.oschina.net/plug/IMThemeDemo 该 IMThemeDemo 实现了简单的聊天泡泡切换功能,同时主题包(插件)是托管在apkplug的云服务器上的。所以要阅读项目的完整代码可以先看插件托管服务开发系列文章 < 插件托管服务开发指南 > demo运行效果图: 一,apkplug的主题说明 apkplug主题解决方案摒弃了以往以图片替换的形式切换效果的方式,转而使用android原生资源和素材来切换UI样式和效果。所以从体验效果上是一次极大的提升。 二,apkplug主题(皮肤)切换适用范围 apkplug主题解决方案适用安卓界面的整个层次。其包括通用主题样式,和自定义控件样式切换两个层面 1.通用主题样式 与系统主题相似(Activity.setTheme()) 我们在系统与app(插件)之间可新增一层主题,三层主题已叠加的形式形成最终结果 2.自定义控件样式 大部分情况下我们的app都会自己设计主题,或者针对某写控件设计自己的样式,在这种模式下以上的通用主题便缺少 其存在的意义了。因此apkplug也提供一种简单有效的方案,允许开发者根据自己的需求定义自定义UI控件样式的替换规则 在不失通用性兼容性简洁性的情况下达到最好的体验。 三