[发明专利]一种应用程序的动态换肤方法及装置在审
申请号: | 202011107324.7 | 申请日: | 2020-10-16 |
公开(公告)号: | CN112231031A | 公开(公告)日: | 2021-01-15 |
发明(设计)人: | 李华春 | 申请(专利权)人: | 蜂助手股份有限公司 |
主分类号: | G06F9/451 | 分类号: | G06F9/451;G06F9/445 |
代理公司: | 广州市智远创达专利代理有限公司 44619 | 代理人: | 王会龙 |
地址: | 510000 广东省广州市天河区龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 应用程序 动态 方法 装置 | ||
本发明公开了一种应用程序的动态换肤方法及装置,所述方法包括如下步骤:步骤S1,在应用程序启动时,检测是否存在对应用程序界面的换肤请求;步骤S2,在检测到应用程序界面的换肤请求时,获取并加载配置的至少一目标皮肤资源;步骤S3,确定需要替换资源的View并利用所述目标皮肤资源替换相应资源。
技术领域
本发明涉及信息处理技术领域,特别是涉及一种应用程序的动态换肤方法及装置。
背景技术
随着科学技术的发展,越来越多的用户使用应用程序进行互联网交互活动。在目前的移动应用程序开发过程中,由于硬件水平的提升,各个应用开始追求应用的美观性,换肤就是最直接的一种方法。
现有技术的应用程序换肤方案一般需要用户下载并安装皮肤apk,这种方式的思路是,从所有已安装的应用程序中遍历出皮肤程序(根据特定包名区分),然后选中某个主题后,将此皮肤应用的包名保存到主应用中,需要获取资源时,通过皮肤包名得到皮肤应用的Context,然后便可得到Resources,从而获取到皮肤apk中的资源,如图1所示。
然而,现有的这种换肤方法会存在如下缺点:1、该方法需要用户下载并安装皮肤资源,对用户来说首先要下载完成并重启才能切换皮肤,而且下载皮肤资源需要耗费用户的手机流量;2、下载的皮肤资源会占用手机的存储空间。
发明内容
为克服上述现有技术存在的不足,本发明之目的在于提供一种应用程序的动态换肤方法及装置,以便用户使用应用程序(app)时可轻松切换不同的皮肤,且无需重启app,即可实现一键切换目标皮肤。
为达上述目的,本发明提出一种应用程序的动态换肤方法,包括如下步骤:
步骤S1,在应用程序启动时,检测是否存在对应用程序界面的换肤请求;
步骤S2,在检测到应用程序界面的换肤请求时,根据所述换肤请求获取并加载配置的至少一目标皮肤资源;
步骤S3,确定需要替换资源的View并利用所述目标皮肤资源替换相应资源。
优选地,所述应用程序内预先内嵌多套目标换肤资源。
优选地,于步骤S1之前,所述方法还包括:
获取用户自定义的皮肤文件配置参数;
根据该皮肤文件配置参数配置样式文件并形成目标皮肤资源内嵌于所述应用程序中。
优选地,所述内嵌的多套目标皮肤资源,以资源前缀或后缀来区分不同资源。
优选地,步骤S2进一步包括:
步骤S200,利用Resources类根据所述换肤请求中的资源ID找到资源文件名称;
步骤S201,将资源文件名称提交给AssetManager类以打开对应的资源文件;
步骤S202,所述AssetManager类将所述资源文件的资源文件路径添加到资源管理器中。
优选地,于步骤S202中,所述AssetManager类利用addAssetPath方法将所述资源文件路径添加到资源管理器中。
优选地,于步骤S3中,将需要替换资源的View加上tag属性以区分换肤的view。
优选地,于步骤S3中,根据Activity加载View流程,仿照系统类AppCompatDelegateImpl的onCreateView方法,自定义一个LayoutInflater类去生成View,解释View的属性并利用所述目标皮肤资源替换资源。
为达到上述目的,本发明还提供一种应用程序的动态换肤装置,包括:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于蜂助手股份有限公司,未经蜂助手股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202011107324.7/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种防止手机刷量的方法及系统
- 下一篇:一种配电网规划项目精准投资方法