CN108228293B - 一种界面皮肤切换方法及装置 - Google Patents
一种界面皮肤切换方法及装置 Download PDFInfo
- Publication number
- CN108228293B CN108228293B CN201711479639.2A CN201711479639A CN108228293B CN 108228293 B CN108228293 B CN 108228293B CN 201711479639 A CN201711479639 A CN 201711479639A CN 108228293 B CN108228293 B CN 108228293B
- Authority
- CN
- China
- Prior art keywords
- skin
- resource
- file
- component
- user interface
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Images
Landscapes
- Information Transfer Between Computers (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明实施例提供了一种界面切换皮肤及装置,应用于客户端,涉及用户界面技术领域,该方法包括:接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;确定支持当前皮肤的组件,作为目标组件;根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,可以缩短用户界面皮肤切换所需要的时间,更加快速的完成用户界面皮肤的切换。
Description
技术领域
本发明涉及用户界面技术领域,特别是涉及一种界面皮肤切换方法及装置。
背景技术
客户端开发商在开发客户端时,会为客户端设计用户界面,并为用户界面设计皮肤,当用户成功安装了该客户端后,客户端在上述用户界面上向用户展示信息,并展示用户界面的皮肤。通常情况下,客户端开发商只会为客户端设计一套用户界面皮肤,而为了增强用户体验,也为了使客户端界面更加美观,客户端开发商会为客户端增加换肤功能,即提供多种用户界面皮肤供用户选择,用户可以根据自身的喜好选择自己喜欢的用户界面皮肤。
然而,现有技术中,客户端在向用户展示用户界面时,需要先将用户界面的所有数据加载到内存中,而当客户端进行用户界面皮肤切换时,需要重新加载用户界面,而每次重新加载用户界面就需要重新创建支持用户切换之后的皮肤的组件,因此,现有技术中,客户端要完成用户界面皮肤切换时需要耗费较多的时间。
发明内容
本发明实施例的目的在于提供一种界面皮肤切换方法及装置,以缩短用户界面皮肤切换所需要的时间,更加快速的完成用户界面皮肤的切换。
具体技术方案如下:
第一方面,本发明实施例提供了一种界面皮肤切换方法,应用于客户端,所述方法包括:
接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
确定支持所述当前皮肤的组件,作为目标组件;
根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现所述目标用户界面从当前皮肤到第一皮肤的切换。
一种实现方式中,所述方法还包括:
监听所述目标用户界面加载过程中支持默认皮肤的组件的创建;
在监听到每一组件创建成功后,缓存成功创建的组件的引用。
一种实现方式中,通过以下方式确定目标组件:
获得缓存中存储的目标组件的引用;
根据所获得的引用,从已加载的组件中确定支持所述当前皮肤的组件,作为目标组件。
一种实现方式中,所述根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID的步骤,包括:
根据第一类资源ID,从当前皮肤文件中获得所述当前皮肤所包含资源的资源名称,作为目标资源名称,其中,所述当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,所述第一皮肤文件为:用于记录第一皮肤所包含资源的文件。
一种实现方式中,在所述接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令之前,还包括:
接收服务器发送的皮肤列表;
展示所述皮肤列表;
将用户根据所述皮肤列表选择的皮肤确定为所述第一皮肤。
一种实现方式中,其特征在于,所述第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
一种实现方式中,所述第一皮肤文件为:用户自定义皮肤文件或服务器提供的皮肤文件,其中,用户自定义皮肤文件与服务器提供的皮肤文件为不同格式的文件。
第二方面,本发明实施例提供了一种界面皮肤切换装置,应用于客户端,所述装置包括:
指令接收模块,用于接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
组件确定模块,用于确定支持所述当前皮肤的组件,作为目标组件;
第一类资源ID获得模块,用于根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
第二类资源ID获得模块,用于根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
属性值设置模块,用于将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现所述目标用户界面从当前皮肤到第一皮肤的切换。
一种实现方式中,所述装置还包括:
组件监听模块,用于监听所述目标用户界面加载过程中支持默认皮肤的组件的创建;
引用缓存模块,用于在监听到每一组件创建成功后,缓存成功创建的组件的引用。
一种实现方式中,所述组件确定模块,包括:
引用获得子模块,用于获得缓存中存储的目标组件的引用;
组件确定子模块,用于根据所获得的引用,从已加载的组件中确定支持所述当前皮肤的组件,作为目标组件。
一种实现方式中,所述第二类资源ID获得模块,包括:
资源名称获得子模块,用于根据第一类资源ID,从当前皮肤文件中获得所述当前皮肤所包含资源的资源名称,作为目标资源名称,其中,所述当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
第二类资源ID获得子模块,用于获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,所述第一皮肤文件为:用于记录第一皮肤所包含资源的文件。
一种实现方式中,在所述指令接收模块之前,还包括:
列表接收模块,用于接收服务器发送的皮肤列表;
列表展示模块,用于展示所述皮肤列表;
皮肤确定模块,用于将用户根据所述皮肤列表选择的皮肤确定为所述第一皮肤。
一种实现方式中,其特征在于,所述第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
一种实现方式中,所述第一皮肤文件为:用户自定义皮肤文件或服务器提供的皮肤文件,其中,用户自定义皮肤文件与服务器提供的皮肤文件为不同格式的文件。
第三方面,本发明实施例提供了一种终端,所述终端安装有客户端,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现上述第一方面提供的界面切换方法的任一方法步骤。
第四方面,本发明实施例提供了一种计算机可读存储介质,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面提供的界面切换方法的任一方法步骤。
由以上可见,本发明实施例提供的方案中,在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的第一种界面切换方法的流程示意图。
图2为本发明实施例提供的第二种界面切换方法的流程示意图。
图3为本发明实施例提供的第一种界面切换装置的结构示意图。
图4为本发明实施例提供的第二种界面切换装置的结构示意图。
图5为本发明实施例提供的一种终端的结构示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
现有技术中,客户端在向用户展示用户界面时,需要先将用户界面的所有数据加载到内存中,而当客户端进行用户界面皮肤切换时,需要重新加载用户界面,而每次重新加载用户界面就需要重新创建支持用户切换之后的皮肤的组件,因此,现有技术中,客户端要完成用户界面皮肤切换时需要耗费较多的时间。
为了解决上述技术问题,本发明实施例提供了一种界面皮肤切换方法,应用于客户端,该方法包括:
接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
确定支持当前皮肤的组件,作为目标组件;
根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。
由以上可见,本发明实施例提供的方案中,在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
下面对本发明各个实施例提供的界面皮肤切换方法进行详细说明。
客户端的某个用户界面在展示给用户时,会展示一个该用户界面的皮肤,在该用户界面的加载过加载中,支持该用户界面的默认皮肤组件会被创建。在切换用户界面皮肤的过程中,用户界面并没有发生改变,只是用户界面展示给用户的皮肤发生了变化,例如背景颜色、背景图片、文字颜色、文字字体等,因此,在用户界面皮肤的切换过程中,支持用户界面皮肤的组件始终为支持用界面当前皮肤的组件,也就是说支持用户界面当前皮肤的组件与支持用户界面切换之后的皮肤的组件是相同的。
支持用户界面皮肤的组件具有不同的属性,各个属性的属性值为用户界面皮肤所包含的资源的资源ID,这些资源ID被保存在用户界面皮肤的皮肤文件中,上述皮肤文件中还包含了用户界面皮肤所包含的资源的资源名称和用户界面皮肤所包含的资源,同一个用户界面皮肤所包含的资源的资源ID与资源名称具有对应关系,上述皮肤文件中同样包含了这种对应关系。
如图1所示,为本发明实施例提供的第一种界面皮肤切换方法的流程示意图,应用于客户端,该方法包括:
S101:接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
其中,上述切换指令中可以携带有第一皮肤的标识信息,第一皮肤的标识信息中可以包括第一皮肤的名称、版本号等与第一皮肤的相关的、能够对第一皮肤进行标注的信息。当然,上述切换指令中还可以携带其他信息,本申请并不对此进行限定。
第一皮肤可以是服务器配置的用户界面皮肤,也可以是用户通过自定义皮肤的生成界面根据自己的喜好和需求生成的自定义皮肤。因此第一皮肤文件可以是服务器提供的皮肤文件,也可以是用户自定义皮肤文件。
一种实现方式中,上述两种第一皮肤文件为相同格式的文件。
另一种实现方式中,上述两种第一皮肤文件为不同格式的文件,例如,服务器提供的第一皮肤文件的格式为Apk(application package,安卓安装包)格式,用户自定义皮肤文件的文件格式为Zip(计算机文件压缩Zip算法)格式。
上述自定义用户皮肤文件可以通过下面的方式生成:
客户端接收到用户发出的自定义皮肤生成指令后,根据上述生成指令,客户端显示自定义皮肤生成界面;用户可以在上述自定义皮肤生成界面中进行操作,选择自定义皮肤所包含的资源,并为每一个资源设置资源名称和资源ID,其中,设置完成的资源名称和资源ID就有对应关系,自定义皮肤所包含的各个资源的资源名称为预先设置的,与对应的当前皮肤所包含的各个资源的资源名称一致,例如,自定义皮肤所包含的背景图资源和当前皮肤所包含的背景图资源的资源名称均为background,自定义皮肤所包含的颜色资源和当前皮肤所包含的颜色资源的资源名称均为color1;客户端根据用户的上述操作确定自定义皮肤所包含的资源、资源的资源名称和资源ID以及资源的资源名称与资源ID的对应关系;完成上述操作之后,客户端接收用户发出的自定义皮肤完成指令;客户端根据上述完成指令,生成自定义皮肤的皮肤文件,并将该皮肤文件保存在本地,该皮肤文件中记录了上述自定义皮肤的资源、资源的资源名称和资源ID以及资源的资源名称与资源ID的对应关系。
一种实现方式中,为便于用户操作,上述自定义皮肤生成界面中还可以显示提示信息,以提示用户如何进行操作。
S102:确定支持当前皮肤的组件,作为目标组件;
一种实现方式中,上述界面皮肤切换方法还包括::
步骤A:监听目标用户界面加载过程中支持默认皮肤的组件的创建;
步骤B:在监听到每一组件创建成功后,缓存成功创建的组件的引用。
本实现方式中,在目标用户界面的加载过程中,需要创建支持目标用户界面的默认皮肤的组件,当其中的一个组件创建成功时,会缓存这个组件的引用,当目标用户界面加载完成时,所有支持目标用户界面的默认皮肤的组件全部创建成功,缓存中存储了上述所有组件的引用。
其中,目标用户界面的当前皮肤和目标用户界面的默认皮肤可以是相同的皮肤,也可以是不同的皮肤,因为上述当前皮肤与默认皮肤均为目标用户界面的皮肤,所以支持上述默认皮肤的组件与支持上述当前皮肤的组件是相同的,因此,当缓存了目标用户界面默认皮肤的组件的引用时,也就相当于缓存了目标用户界面当前皮肤的组件的引用。
一种实现方式中,可以通过以下方式确定目标组件:
步骤一:获得缓存中存储的目标组件的引用;
步骤二:根据所获得的引用,从已加载的组件中确定支持所述当前皮肤的组件,作为目标组件。
其中,上述引用可以是组件的标识,通过组件的标识与组件的对应关系,根据目标组件的标识在所有已加载的组件中确定目标组件;也可以是组件的加载地址,通过组件的加载地址与组件的对应关系,根据目标组件的加载地址在所有已加载的组件中确定目标组件;当然,引用也可以是其他可以用来确定组件的信息,本申请不对引用的具体形式进行限定。
因为支持同一用户界面的不同皮肤的组件是相同的,因此,在对目标用户界面的皮肤进行切换时,支持目标用户界面切换之后的皮肤的组件已经创建成功,不需要再重新创建,从而可以提高目标用户界面皮肤切换的速度。
S103:根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
其中,各个目标组件的属性的属性值为:当前皮肤所包含资源的资源ID,当前皮肤所包含的资源为:当前皮肤包含的各种元素,例如当前皮肤的背景图片、当前皮肤中按钮的文字大小、当前皮肤中按钮的文字颜色、当前皮肤背景中的文字颜色等。
S104:根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
其中,第一皮肤所包含的资源为:第一皮肤包含的各种元素,例如第一皮肤的背景图片、第一皮肤中按钮的文字大小、第一皮肤中按钮的文字颜色、第一皮肤背景中的文字颜色等。
一种实现方式中,第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
另一种实现方式中,第一皮肤所包含的资源为服务器提供的皮肤所包含的资源。
一种实现方式中,上述S104获得第一皮肤所包含资源的资源ID,作为第二类资源ID,可以包括:
步骤一:根据第一类资源ID,从当前皮肤文件中获得所述当前皮肤所包含资源的资源名称,作为目标资源名称,其中,当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
步骤二:获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,所述第一皮肤文件为:用于记录第一皮肤所包含资源的文件。
其中,皮肤文件中包括:皮肤所包含的资源,皮肤所包含的资源的资源ID、皮肤所包含的资源的资源名称,以及皮肤所包含的资源的资源ID和资源名称的对应关系。
皮肤所包含的资源为:皮肤包含的各种元素,例如皮肤的背景图片、皮肤中按钮的文字大小、皮肤中按钮的文字颜色、皮肤背景中的文字颜色等。因此,本实现方式中,可以支持皮肤展示更多的皮肤元素,得到更好的皮肤展示效果。
S105:将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。
如上所述,支持目标用户界面的当前皮肤的组件与支持目标用户界面的第一皮肤的组件是相同的。
将目标组件的属性的属性值设置为第一皮肤所包含的资源的资源ID,则该用户界面皮肤建立成功,从而在用户界面上展示出来。
由以上可见,本发明实施例提供的方案中,在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
一种实现方式中,如图2所示,为本发明实施例提供的第二种界面皮肤切换方法的流程示意图,该方法中,在上述用户界面皮肤切换方法在接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令之前,包括:
S201:接收服务器发送的皮肤列表;
其中,服务器可以按照预设周期向客户端发送皮肤列表,例如,每隔八个小时,向客户端发送一次皮肤列表;也可以按照预设的时间点向客户端发送皮肤列表,例如,每天上午八点向用户发送一次皮肤列表;还可以根据用户的操作向客户端发送皮肤列表,例如,在展示的皮肤列表下方设置有字样为“更多”的操作按钮,接收用户对该操作按钮的点击操作,向用户发送更多的皮肤列表。本申请不对服务器向客户端发送皮肤列表的方式进行限定。
皮肤列表可以包括皮肤的名称、版本号、缩略图等信息中的一种或几种。
S202:展示皮肤列表;
S203:将用户根据上述皮肤列表选择的皮肤确定为第一皮肤。
其中,可以通过用户对皮肤列表中某个皮肤的点击操作,将该皮肤确定为第一皮肤,也可以接受用户输入的某个皮肤在皮肤列表中的编号,将该皮肤确定为第一皮肤,本申请不对第一皮肤的确定方法进行限定。
本实现方式中,客户端展示了服务器发送的皮肤列表,用户可以在该皮肤列表中根据自己的需求和喜好选择某一个皮肤作为第一皮肤,因此,用户可以更直观地看到能够作为第一皮肤的皮肤展示出来的样式,从而能够更好的选择到满意的皮肤。
对应于上述本发明实施例提供的第一种界面皮肤切换方法,如图3所示,本发明实施例提供了第一种界面皮肤切换装置的结构示意图,应用于客户端,该装置包括:
指令接收模块310,用于接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
组件确定模块320,用于确定支持当前皮肤的组件,作为目标组件;
第一类资源ID获得模块330,用于根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
第二类资源ID获得模块340,用于根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
属性值设置模块350,用于将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。
由以上可见,本发明实施例提供的方案中,在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
一种实现方式中,上述界面皮肤切换装置,还包括:
组件监听模块360,用于监听所述目标用户界面加载过程中支持默认皮肤的组件的创建;
引用缓存模块370,用于在监听到每一组件创建成功后,缓存成功创建的组件的引用。
本实现方式中,在目标用户界面的加载过程中,需要创建支持目标用户界面的默认皮肤的组件,当其中的一个组件创建成功时,会缓存这个组件的引用,当目标用户界面加载完成时,所有支持目标用户界面的默认皮肤的组件全部创建成功,缓存中存储了上述所有组件的引用。
一种实现方式中,上述组件确定模块320,包括:
引用获得子模块3201,用于获得缓存中存储的目标组件的引用;
组件确定子模块3202,用于根据所获得的引用,从已加载的组件中确定支持当前皮肤的组件,作为目标组件。
因为支持同一用户界面的不同皮肤的组件是相同的,因此,在对目标用户界面的皮肤进行切换时,支持目标用户界面切换之后的皮肤的组件已经创建成功,不需要再重新创建,从而可以提高目标用户界面皮肤切换的速度。
一种实现方式中,上述第二类资源ID获得模块340,包括:
资源名称获得子模块3401,用于根据第一类资源ID,从当前皮肤文件中获得当前皮肤所包含资源的资源名称,作为目标资源名称,其中,当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
第二类资源ID获得子模块3402,用于获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,第一皮肤文件为:用于记录第一皮肤所包含资源的文件。
一种实现方式中,如图4所示,为本发明实施例提供的第二种界面皮肤切换装置的结构示意图,在指令接收模块310之前,该装置还包括:
列表接收模块410,用于接收服务器发送的皮肤列表;
列表展示模块420,用于展示皮肤列表;
皮肤确定模块430,用于将用户根据皮肤列表选择的皮肤确定为所述第一皮肤。
本实现方式中,客户端展示了服务器发送的皮肤列表,用户可以在该皮肤列表中根据自己的需求和喜好选择某一个皮肤作为第一皮肤,因此,用户可以更直观地看到能够作为第一皮肤的皮肤展示出来的样式,从而能够更好的选择到满意的皮肤。
一种实现方式中,第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
一种实现方式中,第一皮肤文件为:用户自定义皮肤文件或服务器提供的皮肤文件,其中,用户自定义皮肤文件与服务器提供的皮肤文件为不同格式的文件。
本发明实施例还提供了一种终端,终端上安装有客户端,如图5所示,包括处理器510、通信接口520、存储器530和通信总线540,其中,处理器510,通信接口520,存储器530通过通信总线540完成相互间的通信,
存储器530,用于存放计算机程序;
处理器510,用于执行存储器530上所存放的程序时,实现本发明实施例提供的一种界面皮肤切换方法。
具体的,上述界面皮肤切换方法,包括:
接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
确定支持当前皮肤的组件,作为目标组件;
根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。
需要说明的是,上述处理器510执行存储器530上存放的程序而实现的界面皮肤切换方法的其他实现方式,与前述方法实施例部分提供的界面皮肤切换方法实施例相同,这里不再赘述。
以上可见,本发明实施例提供的方案中,终端在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
上述电子设备提到的通信总线可以是外设部件互连标准(Peripheral ComponentInterconnect,PCI)总线或扩展工业标准结构(Extended Industry StandardArchitecture,EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。为便于表示,图中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
通信接口用于上述电子设备与其他设备之间的通信。
存储器可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessing,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
本发明实施例还提供了一种计算机可读存储介质,该计算机可读存储介质为服务器中的存储介质,其中存储有计算机程序,该计算机程序被处理器执行时实现本发明实施例提供的界面皮肤切换方法。
具体的,上述界面皮肤切换方法,包括:
接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
确定支持当前皮肤的组件,作为目标组件;
根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现目标用户界面从当前皮肤到第一皮肤的切换。
需要说明的是,上述计算机程序被处理器执行时而实现的界面皮肤切换方法的其他实现方式,与前述方法实施例部分提供的界面皮肤切换方法实施例相同,这里不再赘述。
由以上可见,本发明实施例的方案中,处理器在执行计算机可读存储介质中存储的计算机程序时,在接收切换指令之后,确定了支持当前皮肤的组件,并根据上述组件的属性的属性值,获得了当前皮肤所包含资源的资源ID,也就是第一类资源ID,然后通过获得的第一类资源ID,获得了第一皮肤所包含资源的资源ID,也就是第二类资源ID;将上述组件的属性的属性值设置为上述第二类资源ID,从而实现了目标用户界面从当前皮肤到第一皮肤的切换。与现有技术相比,应用本发明实施例提供的方案进行用户界面皮肤切换时,只需要将支持当前皮肤的组件的属性值由第一类资源ID重新设置为第二类资源ID,不需要重新加载用户界面,也不需要重新创建支持第一皮肤的组件,因而,可以缩短用户界面皮肤切换的时间所需要的时间,更加快速的完成用户界面皮肤的切换。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例、终端实施例、计算机可读存储介质实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (14)
1.一种界面皮肤切换方法,应用于客户端,其特征在于,所述方法包括:
接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
确定支持所述当前皮肤的组件,作为目标组件;
根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现所述目标用户界面从当前皮肤到第一皮肤的切换;
其中,支持所述用户界面当前皮肤的组件与支持所述用户界面切换之后的皮肤的组件是相同的;
所述根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID的步骤,包括:
根据第一类资源ID,从当前皮肤文件中获得所述当前皮肤所包含资源的资源名称,作为目标资源名称,其中,所述当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,所述第一皮肤文件为:用于记录第一皮肤所包含资源的文件;
皮肤文件中包括:皮肤所包含的资源,皮肤所包含的资源的资源ID、皮肤所包含的资源的资源名称,以及皮肤所包含的资源的资源ID和资源名称的对应关系。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
监听所述目标用户界面加载过程中支持默认皮肤的组件的创建;
在监听到每一组件创建成功后,缓存成功创建的组件的引用。
3.根据权利要求2所述的方法,其特征在于,通过以下方式确定目标组件:
获得缓存中存储的组件的引用;
根据所获得的引用,从已加载的组件中确定支持所述当前皮肤的组件,作为目标组件。
4.根据权利要求1所述的方法,其特征在于,在所述接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令之前,还包括:
接收服务器发送的皮肤列表;
展示所述皮肤列表;
将用户根据所述皮肤列表选择的皮肤确定为所述第一皮肤。
5.根据权利要求1-4中任一项所述的方法,其特征在于,
所述第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
6.根据权利要求1所述的方法,其特征在于,
所述第一皮肤文件为:用户自定义皮肤文件或服务器提供的皮肤文件,其中,用户自定义皮肤文件与服务器提供的皮肤文件为不同格式的文件。
7.一种界面皮肤切换装置,应用于客户端,其特征在于,所述装置包括:
指令接收模块,用于接收将目标用户界面的当前皮肤切换为第一皮肤的切换指令;
组件确定模块,用于确定支持所述当前皮肤的组件,作为目标组件;
第一类资源ID获得模块,用于根据各个目标组件的属性的属性值,获得当前皮肤所包含资源的资源ID,作为第一类资源ID;
第二类资源ID获得模块,用于根据第一类资源ID,获得第一皮肤所包含资源的资源ID,作为第二类资源ID;
属性值设置模块,用于将各个目标组件的属性的属性值分别设置为各个第二类资源ID,实现所述目标用户界面从当前皮肤到第一皮肤的切换;
其中,支持所述用户界面当前皮肤的组件与支持所述用户界面切换之后的皮肤的组件是相同的;
所述第二类资源ID获得模块,包括:
资源名称获得子模块,用于根据第一类资源ID,从当前皮肤文件中获得所述当前皮肤所包含资源的资源名称,作为目标资源名称,其中,所述当前皮肤文件为:用于记录当前皮肤所包含资源的文件;
第二类资源ID获得子模块,用于获得第一皮肤文件中记录的各个目标资源名称的资源ID,作为第二类资源ID,其中,所述第一皮肤文件为:用于记录第一皮肤所包含资源的文件;
皮肤文件中包括:皮肤所包含的资源,皮肤所包含的资源的资源ID、皮肤所包含的资源的资源名称,以及皮肤所包含的资源的资源ID和资源名称的对应关系。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括:
组件监听模块,用于监听所述目标用户界面加载过程中支持默认皮肤的组件的创建;
引用缓存模块,用于在监听到每一组件创建成功后,缓存成功创建的组件的引用。
9.根据权利要求8所述的装置,其特征在于,所述组件确定模块,包括:
引用获得子模块,用于获得缓存中存储的组件的引用;
组件确定子模块,用于根据所获得的引用,从已加载的组件中确定支持所述当前皮肤的组件,作为目标组件。
10.根据权利要求7所述的装置,其特征在于,在所述指令接收模块之前,还包括:
列表接收模块,用于接收服务器发送的皮肤列表;
列表展示模块,用于展示所述皮肤列表;
皮肤确定模块,用于将用户根据所述皮肤列表选择的皮肤确定为所述第一皮肤。
11.根据权利要求7-10中任一项所述的装置,其特征在于,
所述第一皮肤所包含的资源为用户通过自定义皮肤界面选择的资源。
12.根据权利要求7所述的装置,其特征在于,
所述第一皮肤文件为:用户自定义皮肤文件或服务器提供的皮肤文件,其中,用户自定义皮肤文件与服务器提供的皮肤文件为不同格式的文件。
13.一种终端,所述终端安装有客户端,其特征在于,包括处理器、通信接口、存储器和通信总线,其中,处理器,通信接口,存储器通过通信总线完成相互间的通信;
存储器,用于存放计算机程序;
处理器,用于执行存储器上所存放的程序时,实现权利要求1-6任一所述的方法步骤。
14.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现权利要求1-6任一所述的方法步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479639.2A CN108228293B (zh) | 2017-12-29 | 2017-12-29 | 一种界面皮肤切换方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201711479639.2A CN108228293B (zh) | 2017-12-29 | 2017-12-29 | 一种界面皮肤切换方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108228293A CN108228293A (zh) | 2018-06-29 |
CN108228293B true CN108228293B (zh) | 2021-08-13 |
Family
ID=62646141
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201711479639.2A Active CN108228293B (zh) | 2017-12-29 | 2017-12-29 | 一种界面皮肤切换方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN108228293B (zh) |
Families Citing this family (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109062643A (zh) * | 2018-07-06 | 2018-12-21 | 佛山市灏金赢科技有限公司 | 一种显示界面调整方法、装置及终端 |
CN109857508B (zh) * | 2019-02-25 | 2021-09-07 | 厦门美柚股份有限公司 | 一种界面皮肤动态更换的方法、系统、设备及其存储介质 |
CN110096269A (zh) * | 2019-04-18 | 2019-08-06 | 北京奇艺世纪科技有限公司 | 一种基于皮肤缓存机制的界面渲染方法、装置及电子设备 |
CN110286904A (zh) * | 2019-05-30 | 2019-09-27 | 重庆金融资产交易所有限责任公司 | 生成前端皮肤的方法、装置、计算机设备和存储介质 |
CN110377375B (zh) * | 2019-05-31 | 2023-10-27 | 深圳赛安特技术服务有限公司 | App主题切换方法、装置及计算机可读存储介质 |
CN111158834B (zh) * | 2019-12-31 | 2022-10-04 | 福建星网视易信息系统有限公司 | 界面自定义方法及计算机可读存储介质 |
CN111399957A (zh) * | 2020-03-17 | 2020-07-10 | 北京奇艺世纪科技有限公司 | App界面显示方法、装置、终端设备及可读存储介质 |
CN114675912A (zh) * | 2021-05-06 | 2022-06-28 | 腾讯云计算(北京)有限责任公司 | 主题皮肤切换方法、装置、计算机设备及计算机存储介质 |
Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102236544A (zh) * | 2010-04-21 | 2011-11-09 | 腾讯科技(深圳)有限公司 | 一种皮肤设计方法及装置 |
CN102360293A (zh) * | 2011-09-29 | 2012-02-22 | 奇智软件(北京)有限公司 | 一种更换用户界面的皮肤的方法 |
CN102999340A (zh) * | 2012-11-28 | 2013-03-27 | 百度在线网络技术(北京)有限公司 | 一种输入法界面的编辑方法及装置 |
US20130290864A1 (en) * | 2004-09-15 | 2013-10-31 | Research In Motion Limited | Palette-based color selection within a user interface theme |
CN104348703A (zh) * | 2013-07-31 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种即时通讯工具界面皮肤更换方法及装置 |
CN104778051A (zh) * | 2014-01-13 | 2015-07-15 | 北京发现角科技有限公司 | iOS和Android操作系统通用的换肤方法和系统 |
CN104850428A (zh) * | 2015-04-23 | 2015-08-19 | 百度在线网络技术(北京)有限公司 | 一种更新移动客户端的用户界面的方法与装置 |
US20160110054A1 (en) * | 2014-10-21 | 2016-04-21 | Cyanogen Inc. | System and method for customizing a theme for modifying a look and feel of a graphical user interface |
CN105975278A (zh) * | 2016-05-11 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种切换应用界面皮肤的方法及装置 |
CN106657611A (zh) * | 2016-11-15 | 2017-05-10 | 努比亚技术有限公司 | 应用主题的更换装置及方法 |
-
2017
- 2017-12-29 CN CN201711479639.2A patent/CN108228293B/zh active Active
Patent Citations (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130290864A1 (en) * | 2004-09-15 | 2013-10-31 | Research In Motion Limited | Palette-based color selection within a user interface theme |
CN102236544A (zh) * | 2010-04-21 | 2011-11-09 | 腾讯科技(深圳)有限公司 | 一种皮肤设计方法及装置 |
CN102360293A (zh) * | 2011-09-29 | 2012-02-22 | 奇智软件(北京)有限公司 | 一种更换用户界面的皮肤的方法 |
CN102999340A (zh) * | 2012-11-28 | 2013-03-27 | 百度在线网络技术(北京)有限公司 | 一种输入法界面的编辑方法及装置 |
CN104348703A (zh) * | 2013-07-31 | 2015-02-11 | 腾讯科技(深圳)有限公司 | 一种即时通讯工具界面皮肤更换方法及装置 |
CN104778051A (zh) * | 2014-01-13 | 2015-07-15 | 北京发现角科技有限公司 | iOS和Android操作系统通用的换肤方法和系统 |
US20160110054A1 (en) * | 2014-10-21 | 2016-04-21 | Cyanogen Inc. | System and method for customizing a theme for modifying a look and feel of a graphical user interface |
CN104850428A (zh) * | 2015-04-23 | 2015-08-19 | 百度在线网络技术(北京)有限公司 | 一种更新移动客户端的用户界面的方法与装置 |
CN105975278A (zh) * | 2016-05-11 | 2016-09-28 | 乐视控股(北京)有限公司 | 一种切换应用界面皮肤的方法及装置 |
CN106657611A (zh) * | 2016-11-15 | 2017-05-10 | 努比亚技术有限公司 | 应用主题的更换装置及方法 |
Also Published As
Publication number | Publication date |
---|---|
CN108228293A (zh) | 2018-06-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108228293B (zh) | 一种界面皮肤切换方法及装置 | |
US20210019106A1 (en) | Desktop Sharing Method and Mobile Terminal | |
CN104572042A (zh) | 移动终端设备的跨平台中间件装置及其实现方法 | |
CN109582402B (zh) | 一种页面展示方法及装置 | |
CN111796823A (zh) | 页面更新、页面展示的方法、装置及页面维护系统 | |
CN106648733B (zh) | 应用预加载的方法 | |
CN109361948B (zh) | 界面管理方法、智能终端及可读存储介质 | |
CN105988837B (zh) | 一种应用程序的安装方法及装置 | |
US20150317059A1 (en) | Application management method for a mobile terminal and the mobile terminal | |
CN112925718B (zh) | 调用栈回溯方法、装置、设备和介质 | |
CN112016023A (zh) | 业务处理方法、装置、终端及存储介质 | |
CN113536174A (zh) | 一种界面加载方法、装置及设备 | |
CN110968314A (zh) | 一种页面生成方法及装置 | |
CN111367518A (zh) | 页面布局方法、装置、计算设备及计算机存储介质 | |
US10931610B2 (en) | Method, device, user terminal and electronic device for sharing online image | |
CN111736825B (zh) | 一种信息展示方法、装置、设备和存储介质 | |
CN111142990A (zh) | 一种微信小程序页面展示方法、装置、及存储介质 | |
CN112988810B (zh) | 信息查找方法、装置及设备 | |
CN113721936A (zh) | 一种应用管理方法及智能终端、装置及存储介质 | |
CN114448791B (zh) | 路由模块的配置方法、装置、电子设备及可读存储介质 | |
CN112596812B (zh) | 一种操作请求的响应方法、装置、设备及存储介质 | |
CN112068910B (zh) | 具有下载功能的附件控件的生成方法、装置以及系统 | |
CN111209800B (zh) | 表格内容变更识别方法、装置、存储介质及电子设备 | |
CN109460257A (zh) | 应用程序的设置方法、终端及计算机可读存储介质 | |
CN112073793A (zh) | 一种图像显示方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |