应用程序换肤方法、装置、计算机设备和存储介质制造方法及图纸

技术编号:36806086 阅读:13 留言:0更新日期:2023-03-09 00:15
本申请涉及一种应用程序换肤方法、装置、计算机设备和存储介质。所述方法包括:响应于应用程序的启动指令,获取皮肤设置文件,其中,皮肤设置文件包括至少一种皮肤资源;将皮肤设置文件读入内存,以使皮肤资源在换肤界面进行显示,并通过换肤界面获取用户的换肤指令;根据换肤指令获取应用程序占用的当前窗口,调取处于当前窗口顶层的根视图控制器,并逐层递归调用根视图控制器下的子视图控制器,获取与子视图控制器对应的视图控件;根据换肤指令对子视图控制器和视图控件的皮肤资源进行设置,以使应用程序实现换肤。采用本方法能够提升应用程序换肤过程的可扩展性与适配性,使得应用程序换肤过程更加灵活。序换肤过程更加灵活。序换肤过程更加灵活。

【技术实现步骤摘要】
应用程序换肤方法、装置、计算机设备和存储介质


[0001]本申请涉及互联网
,特别是涉及一种应用程序换肤方法、装置、计算机设备和存储介质。

技术介绍

[0002]在互联网
中,换肤指的是将应用程序的人机交互界面进行图片、颜色等元素上的切换,是提升用户体验的重点功能之一。
[0003]目前,应用程序的换肤方法的实现过程主要是通过获取目标皮肤资源,将目标皮肤资源和当前皮肤进行简单替换,并根据目标皮肤资源来设置交互界面的图片、颜色等元素。
[0004]但这些可替换资源种类较少,通常仅支持替换图片、颜色等常见的资源数据,换肤方法的适配性、可扩展性较差,对于多种资源数据的替换不够灵活,提供的用户体验也受到负面影响。

技术实现思路

[0005]基于此,提供一种应用程序换肤方法、装置、计算机设备和存储介质,改善现有技术中对应用程序进行换肤不够灵活的问题。
[0006]一方面,提供一种应用程序换肤方法,所述方法包括:
[0007]响应于应用程序的启动指令,获取皮肤设置文件,其中,所述皮肤设置文件包括至少一种皮肤资源;
[0008]将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过所述换肤界面获取用户的换肤指令;
[0009]根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层的根视图控制器,并逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件;
[0010]根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,以使所述应用程序实现换肤。
[0011]在其中一个实施例中,根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,包括:
[0012]响应于所述换肤指令,所述子视图控制器获取基类视图控制器设置函数,并对所述基类视图控制器设置函数进行重写,得到子视图控制器设置函数;
[0013]所述视图控件获取基类视图控件设置函数,并对所述基类视图控件设置函数进行重写,得到视图控件设置函数;
[0014]运行所述子视图控制器设置函数和所述视图控件设置函数,以对所述子视图控制器和所述视图控件进行皮肤设置。
[0015]在其中一个实施例中,响应于所述换肤指令,所述子视图控制器获取基类视图控
制器设置函数,包括:
[0016]通过所述基类视图控制器设置函数中的视图预显示函数,调用所述子视图控制器设置函数,以使任一所述子视图控制器被访问时通过所述子视图控制器设置函数来设置皮肤。
[0017]在其中一个实施例中,逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件,包括:
[0018]对所述子视图控制器进行筛选,将展示在所述当前窗口的子视图控制器进行提取,并获取与提取后的子视图控制器对应的视图控件。
[0019]在其中一个实施例中,根据所述换肤指令获取所述应用程序占用的当前窗口,包括:
[0020]响应于所述换肤指令,对所述应用程序调用视窗化函数,并提取所述视窗化函数中的窗口元素,得到所述应用程序占用的所述当前窗口。
[0021]在其中一个实施例中,响应于应用程序的启动指令,获取皮肤设置文件,包括:
[0022]若接收到所述应用程序的所述启动指令,从服务器异步下载包含至少一个键值对的所述皮肤设置文件,其中,所述键值对包括代表皮肤资源的名称信息的键数据和代表皮肤资源数值的值数据,所述键数据与所述值数据对应;
[0023]从所述皮肤设置文件中提取预设的默认皮肤,根据所述默认皮肤的键值对设置所述应用程序的默认皮肤。
[0024]在其中一个实施例中,皮肤设置文件预存在本地存储中,所述将所述皮肤设置文件读入内存,还包括:
[0025]将所述皮肤设置文件从所述本地存储读入内存,并从服务器接收所述皮肤设置文件的更新信息,得到更新后的皮肤设置文件;
[0026]若所述更新信息接收完成,则根据所述更新后的皮肤设置文件将内存中的皮肤设置文件进行静默替换。
[0027]另一方面,提供了一种应用程序换肤装置,所述装置包括:
[0028]获取模块,用于响应于应用程序的启动指令,获取皮肤设置文件,其中,所述皮肤设置文件包括至少一种皮肤资源;
[0029]读取模块,用于将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过所述换肤界面获取用户的换肤指令;
[0030]调用模块,用于根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层的根视图控制器,并逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件;
[0031]设置模块,用于根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,以使所述应用程序实现换肤。
[0032]再一方面,提供了一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现以下步骤:
[0033]响应于应用程序的启动指令,获取皮肤设置文件,其中,所述皮肤设置文件包括至少一种皮肤资源;
[0034]将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过
所述换肤界面获取用户的换肤指令;
[0035]根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层的根视图控制器,并逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件;
[0036]根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,以使所述应用程序实现换肤。
[0037]又一方面,提供了一种计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现以下步骤:
[0038]响应于应用程序的启动指令,获取皮肤设置文件,其中,所述皮肤设置文件包括至少一种皮肤资源;
[0039]将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过所述换肤界面获取用户的换肤指令;
[0040]根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层的根视图控制器,并逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件;
[0041]根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,以使所述应用程序实现换肤。
[0042]上述应用程序换肤方法、装置、计算机设备和存储介质,通过响应于应用程序的启动指令,获取皮肤设置文件,来获得可以替换的皮肤资源;通过将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过所述换肤界面获取用户的换肤指令,使得应用程序根据皮肤资源和换肤指令进行换肤;根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种应用程序换肤方法,其特征在于,包括:响应于应用程序的启动指令,获取皮肤设置文件,其中,所述皮肤设置文件包括至少一种皮肤资源;将所述皮肤设置文件读入内存,以使所述皮肤资源在换肤界面进行显示,并通过所述换肤界面获取用户的换肤指令;根据所述换肤指令获取所述应用程序占用的当前窗口,调取处于所述当前窗口顶层的根视图控制器,并逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件;根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,以使所述应用程序实现换肤。2.根据权利要求1所述的应用程序换肤方法,其特征在于,所述根据所述换肤指令对所述子视图控制器和所述视图控件的所述皮肤资源进行设置,包括:响应于所述换肤指令,所述子视图控制器获取基类视图控制器设置函数,并对所述基类视图控制器设置函数进行重写,得到子视图控制器设置函数;所述视图控件获取基类视图控件设置函数,并对所述基类视图控件设置函数进行重写,得到视图控件设置函数;运行所述子视图控制器设置函数和所述视图控件设置函数,以对所述子视图控制器和所述视图控件进行皮肤设置。3.根据权利要求2所述的应用程序换肤方法,其特征在于,所述响应于所述换肤指令,所述子视图控制器获取基类视图控制器设置函数,包括:通过所述基类视图控制器设置函数中的视图预显示函数,调用所述子视图控制器设置函数,以使任一所述子视图控制器被访问时通过所述子视图控制器设置函数来设置皮肤。4.根据权利要求1所述的应用程序换肤方法,其特征在于,所述逐层递归调用所述根视图控制器下的子视图控制器,获取与所述子视图控制器对应的视图控件,包括:对所述子视图控制器进行筛选,将展示在所述当前窗口的子视图控制器进行提取,并获取与提取后的子视图控制器对应的视图控件。5.根据权利要求1所述的应用程序换肤方法,其特征在于,所述根据所述换肤指令获取所述应用程序占用的当前窗口,包括:响应于所述换肤指令,对所述应用程序调用视窗化函数,并提取所述视窗化函数中的...

【专利技术属性】
技术研发人员:陈裕聪
申请(专利权)人:成都赛力斯科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1