CN111435313A - 一种软件换肤的方法及装置 - Google Patents

一种软件换肤的方法及装置 Download PDF

Info

Publication number
CN111435313A
CN111435313A CN201911250271.1A CN201911250271A CN111435313A CN 111435313 A CN111435313 A CN 111435313A CN 201911250271 A CN201911250271 A CN 201911250271A CN 111435313 A CN111435313 A CN 111435313A
Authority
CN
China
Prior art keywords
skin
icon
software
user
package
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.)
Pending
Application number
CN201911250271.1A
Other languages
English (en)
Inventor
方利民
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Hikvision Digital Technology Co Ltd
Original Assignee
Hangzhou Hikvision Digital Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou Hikvision Digital Technology Co Ltd filed Critical Hangzhou Hikvision Digital Technology Co Ltd
Priority to CN201911250271.1A priority Critical patent/CN111435313A/zh
Publication of CN111435313A publication Critical patent/CN111435313A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • G06F9/4451User profiles; Roaming

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请实施例提供了一种软件换肤的方法及装置,涉及终端技术领域,该方法包括:获取并展示指定皮肤包中的全局样式参数和可配置图标列表,全局样式参数包括软件界面的各皮肤元素的样式参数,然后根据指定皮肤包中的内容,以及用户对全局样式参数和可配置图标列表中的图标的修改操作,生成自定义皮肤包,再将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件,以使得软件通过皮肤配置文件中的皮肤包标识和加载路径加载自定义皮肤包。该方法可以简化软件换肤方法。

Description

一种软件换肤的方法及装置
技术领域
本申请涉及终端技术领域,特别是涉及一种软件换肤的方法及装置。
背景技术
目前,用户在使用软件的过程中,可以根据自己的喜好选择软件界面的可视外观,通常软件界面的可视外观可称为软件皮肤。
相关技术中,软件换肤的方法是通过软件代码层面实现的,即在软件开发阶段,预先编写多套皮肤包的软件程序代码,在软件发布后,用户可以选择软件开发阶段设置的皮肤。若在软件发布后,需要更换新的皮肤包,只能对软件的程序代码进行修改,在修改完成后重新对软件进行发布,实现较为复杂。
发明内容
有鉴于此,本申请实施例提供一种软件换肤的方法及装置,以简化对软件换肤的方法。具体技术方案如下:
第一方面,本申请提供一种软件换肤的方法,包括:
获取并展示指定皮肤包中的全局样式参数和可配置图标列表,所述全局样式参数包括软件界面的各皮肤元素的样式参数;
根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包;
将所述自定义皮肤包写入软件的安装路径中,并将所述自定义皮肤包的皮肤包标识和加载路径写入所述软件的皮肤配置文件,以使得所述软件通过所述皮肤配置文件中的皮肤包标识和加载路径加载所述自定义皮肤包。
在一种可能的实现方式中,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之前,所述方法还包括:
当换肤功能被触发时,在所述软件的安装路径下,扫描并展示所述软件的皮肤包;
根据用户的选择操作,将所述用户选择的皮肤包作为所述指定皮肤包。
在一种可能的实现方式中,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之前,所述方法还包括:
当换肤功能被触发时,确定所述软件当前使用的皮肤包,将所述软件当前使用的皮肤包作为所述指定皮肤包。
在一种可能的实现方式中,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之后,所述方法还包括:
识别所述用户对所述全局样式参数的修改操作,获取修改后的全局样式参数;和/或,
识别所述用户对所述可配置图标列表中的特定图标的替换操作,获取所述用户输入的用于替换所述特定图标的图标,所述用户输入的图标与所述特定图标的格式和尺寸一致。
在一种可能的实现方式中,根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包,包括:
若获取到修改后的全局样式参数,则根据修改后的全局样式参数以及所述指定皮肤包中的样式表生成模板,生成所述自定义皮肤包对应的软件界面样式表;
若获取到用户输入的用于替换所述特定图标的图标,则将所述可配置图标列表中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的可配置图标列表,并将所述指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的图标文件;
生成所述自定义皮肤包,所述自定义皮肤包包括换肤配置项定义文件、所述软件界面样式表、所述样式表生成模板以及所述自定义皮肤包对应的图标文件,所述换肤配置项定义文件包括所述修改后的全局样式参数以及所述自定义皮肤包对应的可配置图标列表。
第二方面,本申请提供一种软件换肤的装置,包括:
获取模块,用于获取指定皮肤包中的全局样式参数和可配置图标列表,所述全局样式参数包括软件界面的各皮肤元素的样式参数;
展示模块,用于展示所述获取模块获取的所述指定皮肤包中的全局样式参数和可配置图标列表;
生成模块,用于根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包;
写入模块,用于将所述自定义皮肤包写入软件的安装路径中,并将所述自定义皮肤包的皮肤包标识和加载路径写入所述软件的皮肤配置文件,以使得所述软件通过所述皮肤配置文件中的皮肤包标识和加载路径加载所述自定义皮肤包。
在一种可能的实现方式中,所述装置还包括:扫描模块和确定模块;
所述扫描模块,用于当换肤功能被触发时,在所述软件的安装路径下,扫描所述软件的皮肤包;
所述展示模块,还用于展示所述扫描模块扫描到的皮肤包;
所述确定模块,用于根据用户的选择操作,将所述用户选择的皮肤包作为所述指定皮肤包。
在一种可能的实现方式中,所述装置还包括:确定模块;
所述确定模块,用于当换肤功能被触发时,确定所述软件当前使用的皮肤包,将所述软件当前使用的皮肤包作为所述指定皮肤包。
在一种可能的实现方式中,所述装置还包括识别模块;
所述识别模块,用于识别所述用户对所述全局样式参数的修改操作,获取修改后的全局样式参数;和/或,识别所述用户对所述可配置图标列表中的特定图标的替换操作,获取所述用户输入的用于替换所述特定图标的图标,所述用户输入的图标与所述特定图标的格式和尺寸一致。
在一种可能的实现方式中,所述生成模块,具体用于:
若获取到修改后的全局样式参数,则根据修改后的全局样式参数以及所述指定皮肤包中的样式表生成模板,生成所述自定义皮肤包对应的软件界面样式表;
若获取到用户输入的用于替换所述特定图标的图标,则将所述可配置图标列表中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的可配置图标列表,并将所述指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的图标文件;
生成所述自定义皮肤包,所述自定义皮肤包包括换肤配置项定义文件、所述软件界面样式表、所述样式表生成模板以及所述自定义皮肤包对应的图标文件,所述换肤配置项定义文件包括所述修改后的全局样式参数以及所述自定义皮肤包对应的可配置图标列表。
第三方面,本申请实施例提供一种电子设备,该电子设备包括:处理器和机器可读存储介质,所述机器可读存储介质存储有能够被所述处理器执行的机器可执行指令,所述处理器被所述机器可执行指令促使:实现第一方面中所述的软件换肤的方法。
第四方面,本申请实施例还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现第一方面中所述的软件换肤的方法。
第五方面,本申请实施例还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述第一方面中所述的软件换肤的方法。
采用本申请实施例提供的软件换肤的方法及装置,换肤工具可以获取并展示指定皮肤包中的全局样式参数和可配置图标列表,并根据指定皮肤包中的内容,以及用户对全局样式参数和可配置图标列表中的图标的修改操作,生成自定义皮肤包,然后将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件,以使得软件通过皮肤配置文件中的皮肤包标识和加载路径加载自定义皮肤包。可见,本申请实施例的换肤过程未涉及到对软件程序代码的更改,本申请实施例通过对软件代码和皮肤包资源的分离,使得在换肤过程中,可以根据用户对指定皮肤包中的全局样式参数和可配置图标列表中的图标的修改操作,得到新的自定义皮肤包,并且软件可以加载并使用新的自定义数据包,无需重新对软件进行开发,简化了换肤过程。
当然,实施本申请的任一产品或方法并不一定需要同时达到以上所述的所有优点。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例提供的一种软件换肤的方法的流程图;
图2为本申请实施例提供的一种软件换肤的方法的示意图;
图3为本申请实施例提供的另一种软件换肤的方法的流程图;
图4为本申请实施例提供的一种软件换肤的装置的结构示意图;
图5为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
为了实现在软件发布后,方便快捷地完成对软件的换肤,本申请实施例提供一种软件换肤的方法,该方法由换肤工具执行,如图1所示,该方法包括:
S101、获取并展示指定皮肤包中的全局样式参数和可配置图标列表。
其中,指定皮肤包可以为软件当前使用的皮肤包,或者为用户选择的皮肤包,确定指定皮肤包的方式将在下文中进行详细描述。
全局样式参数包括软件界面的各皮肤元素的样式参数。
皮肤元素包括软件界面的主题色、品牌色、字体、控件透明度等,全局样式参数为各皮肤元素的参数值,例如,主题色为深色,品牌色为红色系,字体为宋体,控件透明度为50%。
可配置图标列表中包括软件界面中的图标,不同皮肤包的可配置图标列表中包括的图标样式不同,具体可以是图标的色彩、图案、形状不同。例如,皮肤包A的可配置图标列表中的图标均为植物图案,且为圆角图标;皮肤包B的可配置图标列表中的图标均为动物图案,且为方角图标。
在本步骤中,换肤工具可展示指定皮肤包包括的全局样式参数和可配置图标列表,供用户对指定皮肤包包括的全局样式参数和可配置图标列表中的图标进行修改。
S102、根据指定皮肤包中的内容,以及用户对全局样式参数和可配置图标列表中的图标的修改操作,生成自定义皮肤包。
在本申请实施例中,换肤工具展示指定皮肤包中的全局样式参数和可配置图标列表之后,可以识别用户对全局样式参数的修改操作,获取修改后的全局样式参数;和/或,识别用户对可配置图标列表中的特定图标的替换操作,获取用户输入的用于替换特定图标的图标。其中,用户输入的图标与特定图标的格式和尺寸一致。
可以理解的是,用户可以修改全局样式参数中的皮肤元素参数,例如更改主题色,更改字体等。还可以使用图标替换功能,将配置图标列表中的图标替换为用户输入的图标。换肤工具检测到用户的修改提交操作后,即可根据用户的修改操作生成自定义皮肤包。
例如,用户完成对全局样式参数和可配置图标列表的修改操作后,可以触发换肤界面展示的提交按钮或者保存按钮,换肤工具识别到用户触发提交按钮或保存按钮后,则根据用户的修改操作生成自定义皮肤包。
S103、将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件,以使得软件通过皮肤配置文件中的皮肤包标识和加载路径加载自定义皮肤包。
在一种实施方式中,在软件重启时,软件可从皮肤配置文件读取到自定义皮肤包标识和自定义皮肤包的加载路径,从而根据自定义皮肤包标识和自定义皮肤包的加载路径加载该自定义皮肤包,进而软件可以解析自定义皮肤包中的界面样式表,根据界面样式表完成对界面的渲染和显示,从而展示自定义皮肤包对应的界面。
在另一种实施方式中,在将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件后,无需重启软件,软件可直接从皮肤配置文件读取到自定义皮肤包标识和自定义皮肤包的加载路径,从而按照上述方法展示自定义皮肤包对应的界面。
采用本申请实施例提供的软件换肤的方法,换肤工具可以获取并展示指定皮肤包中的全局样式参数和可配置图标列表,并根据指定皮肤包中的内容,以及用户对全局样式参数和可配置图标列表中的图标的修改操作,生成自定义皮肤包,然后将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件,以使得软件通过皮肤配置文件中的皮肤包标识和加载路径加载自定义皮肤包。可见,本申请实施例的换肤过程未涉及到对软件程序代码的更改,本申请实施例通过对软件代码和皮肤包资源的分离,使得在换肤过程中,可以根据用户对指定皮肤包中的全局样式参数和可配置图标列表中的图标的修改操作,得到新的自定义皮肤包,并且软件可以加载并使用新的自定义数据包,无需重新对软件进行开发,简化了换肤过程。
在本申请实施例中,软件首次启动时,可以读取皮肤配置文件,从皮肤配置文件中读取默认皮肤包的标识以及默认皮肤包的加载路径,然后根据默认皮肤包的加载路径以及默认皮肤包的标识,加载默认皮肤包,从而完成界面渲染,即软件首次启动时使用的是默认皮肤包。
本申请实施例提供了两种确定指定皮肤包的方式。
第一种方式为:当换肤功能被触发时,换肤工具在软件的安装路径下,扫描并展示该软件的皮肤包,然后根据用户的选择操作,将用户选择的皮肤包作为指定皮肤包。
软件的皮肤包预先存储在软件的安装路径下,若换肤工具为软件中的换肤工具,则换肤工具可直接在该软件的安装路径下,扫描并展示软件的皮肤包;若换肤工具为一个独立的工具,则用户使用换肤工具的换肤功能时,需选择被换肤的软件,进而换肤工具获取该软件的安装路径,在该软件的安装路径下,扫描并展示软件的皮肤包。
其中,软件安装路径下的皮肤包包括基础皮肤包,还可以包括已生成的自定义皮肤包。基础皮肤包为软件自带的,未经用户修改的皮肤包。
第二种方式为:当换肤功能被触发时,确定软件当前使用的皮肤包,将软件当前使用的皮肤包作为指定皮肤包。
若换肤工具为软件中的换肤工具,则可直接获取软件当前使用的皮肤包,对于首次启动的软件,软件当前使用的皮肤包即为默认皮肤包。
若换肤工具为一个独立的工具,则用户使用换肤工具的换肤功能时,需选择被换肤的软件,进而获取该软件当前使用的皮肤包。若该软件处于未运行状态,则获取该软件关闭前使用的数据包,若该软件还未进行首次启动,则获取该软件的默认数据包。
可以理解的是,在对软件换肤的过程中,在换肤工具展示指定皮肤包中的全局样式参数和可配置图标列表后,用户可能对全局样式参数和/或可配置图标列表中的图标进行修改操作,以使得软件皮肤能够满足用户的个性化需求。在另一种实施方式中,对应于上述第一种方式,在接收用户的选择操作,并展示用户选择的指定皮肤包后,用户可能未对全局样式参数和可配置图标列表中的图标进行修改操作,若换肤工具识别到用户的换肤指令,则将该软件的皮肤配置文件中的该指定皮肤包设置为软件应使用的皮肤包,以使得软件根据该指定皮肤包更换皮肤。
在本申请的一个实施例中,上述S102描述的生成自定义皮肤包的过程包括以下三个步骤:
步骤一、若获取到修改后的全局样式参数,则根据修改后的全局样式参数及指定皮肤包中的样式表生成模板,生成自定义皮肤包对应的软件界面样式表。
例如,指定皮肤包中的全局样式参数包括:主题色为深色、品牌色为红色、字体为宋体、字号为四号,若用户将主题色修改为浅色,字体修改为楷体,则换肤工具可确定自定义皮肤包的全局样式参数包括:主题色为浅色、品牌色为红色、字体为楷体、字号为四号。
其中,每个皮肤包中都包括样式表生成模板,样式表生成模板用于生成界面样式表。换肤工具可将换肤配置项定义文件中的全局样式参数填到样式表生成模板的相应位置,从而生成软件界面样式表,该软件界面样式表可被软件调用。
步骤二、若获取到用户输入的用于替换特定图标的图标,则将可配置图标列表中的特定图标替换为用户输入的图标,得到自定义皮肤包对应的可配置图标列表,并将指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到自定义皮肤包对应的图标文件。
其中,可配置图标列表中记录有各图标的URL,在展示可配置图标列表时,可展示可配置图标列表中的各图标,若用户的修改操作为将可配置图标列表中的特定图标替换为用户输入的图标,则换肤工具将可配置图标列表中的特定图标的路径下存储的特定图标替换为用户输入的图标。
例如,可配置图标列表中包括:“./XXX/A.png”、“./XXX/B.svg”等,若用户的修改操作为将图片A修改为用户输入的图片,则换肤工具将可配置图标列表中的“./XXX/A.png”中的“A.png”替换为为用户输入的图片,用户输入的图片仍被命名为图片A,且路径不变。
另外,换肤工具可获取指定皮肤包中的图标文件,并将该图标文件中存储的图标A的图标文件替换为用户输入的图标的图标文件,将修改后的图标文件作为自定义皮肤包的图标文件。
可选地,本申请实施例中涉及到的对可配置图标列表的修改是指,复制指定皮肤包中的可配置图标列表,并对复制的可配置图标列表进行修改。同理,对图标文件的修改是指,复制指定皮肤包中的图标文件,并对复制的图标文件进行修改。换言之,本申请实施例不对指定皮肤包进行修改,而是利用指定皮肤包中的信息生成新的皮肤包(即自定义皮肤包)。
步骤三、生成自定义皮肤包。
其中,自定义皮肤包包括换肤配置项定义文件、软件界面样式表、样式表生成模板以及自定义皮肤包对应的图标文件。换肤配置项定义文件包括修改后的全局样式参数以及自定义皮肤包对应的可配置图标列表。
可选地,换肤工具可根据用户修改后的全局样式参数和修改后的可配置图标列表生成换肤配置项定义文件,基于换肤配置项定义文件、步骤一中生成的软件界面样式表、从指定皮肤包中获取的样式表生成模板以及步骤二中得到的自定义皮肤包对应的图标文件,生成自定义皮肤包。
可以理解的是,自定义皮肤包为换肤工具基于用户的修改操作以及指定皮肤包生成的一个新的皮肤包,指定皮肤包并未发生变化。
在本申请实施例中,生成自定义皮肤包后,可为自定义皮肤包设置皮肤标识,皮肤标识可以为字符串。可选地,可以由换肤工具通过预设的命名规则为自定义皮肤包生成皮肤标识,为自定义皮肤包生成的皮肤标识与已存在的皮肤包的皮肤标识均不相同。
为了实现图1所示的方法流程,在软件开发阶段,需生成基础皮肤包,具体方法为:定义软件皮肤的全局样式,以变量的形式定义全局样式,通过Less创建换肤配置项定义文件。然后根据全局样式变量,编写软件中各个界面的样式表生成模板,样式表生成模板可引用换肤配置项定义文件中定义的全局样式变量。
其中,此处创建的换肤配置项定义文件中包括未被赋值的全局样式,以及待填充的可配置图标列表。
可以理解的是,在对换肤配置项定义文件中包括的全局样式赋值得到全局样式参数之后,通过将全局样式参数填充至样式表生成模板中的相应位置(即通过换肤配置项定义文件中的全局样式参数对样式表生成模板中的全局样式进行赋值),即可生成软件界面样式表,软件可通过调用软件界面样式表渲染显示界面,以显示相应的皮肤。
在软件开发阶段,还可以将通过对全局样式进行不同的赋值得到的界面样式表、以及对可配置图标列表填充的不同的图标等资源一起打包,以生成不同的基础皮肤包。基础皮肤包中具体包括:图标文件、换肤配置项定义文件、样式表生成模板和界面样式表。
此外,皮肤包中的图标可来源于视觉设计团队,可配置图标列表中的各图标的命名具有唯一性,且图标的格式、大小、分辨率等参数均符合软件要求。
在本申请实施例中,每个图标具有唯一的URL地址,在生成界面样式表时,可以通过URL访问图标。在生成界面样式表后,可通过各图标的URL获取皮肤包所需的图标文件,并将界面样式表和图标文件打包到皮肤包中。
本申请实施例中,换肤工具可以为软件中的一个模块,或者换肤工具也可以为一个独立的软件,以下结合图2对本申请实施例提供的软件换肤方法进行详细描述,换肤过程具体包括以下S301-S308,对应的流程图如图3所示。
S301、软件检测用户的换肤操作。
例如,软件界面中可以显示换肤按钮,若识别到用户点击该换肤按钮,则显示换肤工具的换肤页面。
S302、换肤工具获取并展示指定皮肤包中的全局样式参数和可配置图标列表。
S303、换肤工具检测用户的修改操作。
具体地,用户可使用换肤工具,修改换肤工具展示的指定皮肤包中的全局样式参数和可配置图标列表中的图标。
S304、换肤工具根据指定皮肤包中的内容,以及用户对全局样式参数和可配置图标列表中的图标的修改操作,生成自定义皮肤包。
具体可参考图2,换肤工具生成的自定义皮肤包包括换肤配置项定义文件、图标文件、软件界面样式表以及样式表生成模板。
其中,换肤配置项定义文件中包括自定义皮肤包的全局样式参数和可配置图标列表。
S305、换肤工具将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件。
参考图2,换肤工具将图2中的自定义皮肤包写入软件的安装路径,将自定义皮肤包的标识和加载路径写入皮肤配置文件,并通过对皮肤配置文件进行配置,将皮肤配置文件中存储的该自定义皮肤包标识和加载路径设置为软件当前需使用的皮肤包标识和加载路径。
可选地,皮肤配置文件中存储了多个皮肤包的皮肤包标识加载路径,换肤工具可通过为皮肤包标识设置标志位的方式设置软件当前使用的皮肤包。例如,若皮肤包标识对应的标志位为1,则代表该皮肤包标识对应的皮肤包为软件当前应使用的皮肤包。
S306、软件重启后,读取皮肤配置文件中的自定义皮肤包标识和加载路径。
在另一种实现方式中,软件无需重启,直接读取皮肤配置文件中的自定义皮肤包标识和加载路径。
软件可读取匹配配置文件中标志位为1的皮肤包标识以及该皮肤包标识对应的加载路径。
S307、软件根据读取到的自定义皮肤包标识和加载路径加载自定义皮肤包。
S308、软件根据自定义皮肤包中的界面样式表渲染并显示自身的显示界面。
可见,采用本申请实施例提供的软件换肤的方法,实现了程序代码和皮肤包的分离,即可以独立管理皮肤包,从而可以在不修改程序代码的情况下实现软件换肤,可以简化软件换肤的方法,降低软件换肤的成本,提高了换肤效率。
基于相同的技术构思,本申请实施例还提供一种软件换肤的装置,如图4所示,该装置包括:获取模块401、展示模块402、生成模块403和写入模块404。
获取模块401,用于获取指定皮肤包中的全局样式参数和可配置图标列表,全局样式参数包括软件界面的各皮肤元素的样式参数;
展示模块402,用于展示获取模块401获取的指定皮肤包中的全局样式参数和可配置图标列表;
生成模块403,用于根据指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包;
写入模块404,用于将自定义皮肤包写入软件的安装路径中,并将自定义皮肤包的皮肤包标识和加载路径写入软件的皮肤配置文件,以使得软件通过皮肤配置文件中的皮肤包标识和加载路径加载自定义皮肤包。
可选地,该装置还包括:扫描模块和确定模块;
扫描模块,用于当换肤功能被触发时,在软件的安装路径下,扫描软件的皮肤包;
展示模块402,还用于展示扫描模块扫描到的皮肤包;
确定模块,用于根据用户的选择操作,将用户选择的皮肤包作为指定皮肤包。
在另一种实施方式中,确定模块,用于当换肤功能被触发时,确定软件当前使用的皮肤包,将软件当前使用的皮肤包作为指定皮肤包。
可选地,该装置还包括识别模块;
识别模块,用于识别用户对全局样式参数的修改操作,获取修改后的全局样式参数;和/或,识别用户对可配置图标列表中的特定图标的替换操作,获取用户输入的用于替换特定图标的图标,用户输入的图标与特定图标的格式和尺寸一致。
可选地,生成模块403,具体用于:
若获取到修改后的全局样式参数,则根据修改后的全局样式参数以及指定皮肤包中的样式表生成模板,生成自定义皮肤包对应的软件界面样式表;
若获取到用户输入的用于替换特定图标的图标,则将可配置图标列表中的特定图标替换为用户输入的图标,得到自定义皮肤包对应的可配置图标列表,并将指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到自定义皮肤包对应的图标文件;
生成自定义皮肤包,自定义皮肤包包括换肤配置项定义文件、软件界面样式表、样式表生成模板以及自定义皮肤包对应的图标文件,换肤配置项定义文件包括修改后的全局样式参数以及自定义皮肤包对应的可配置图标列表。
本申请实施例还提供了一种电子设备,如图5所示,包括处理器501、通信接口502、存储器503和通信总线504,其中,处理器501,通信接口502,存储器503通过通信总线504完成相互间的通信,
存储器503,用于存放计算机程序;
处理器501,用于执行存储器503上所存放的程序时,实现上述方法实施例中由换肤工具执行的步骤。
上述电子设备提到的通信总线可以是外设部件互连标准(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)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述任一软件换肤的方法的步骤。
在本申请提供的又一实施例中,还提供了一种包含指令的计算机程序产品,当其在计算机上运行时,使得计算机执行上述实施例中任一软件换肤的方法。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
以上所述仅为本申请的较佳实施例而已,并非用于限定本申请的保护范围。凡在本申请的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本申请的保护范围内。

Claims (10)

1.一种软件换肤的方法,其特征在于,包括:
获取并展示指定皮肤包中的全局样式参数和可配置图标列表,所述全局样式参数包括软件界面的各皮肤元素的样式参数;
根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包;
将所述自定义皮肤包写入软件的安装路径中,并将所述自定义皮肤包的皮肤包标识和加载路径写入所述软件的皮肤配置文件,以使得所述软件通过所述皮肤配置文件中的皮肤包标识和加载路径加载所述自定义皮肤包。
2.根据权利要求1所述的方法,其特征在于,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之前,所述方法还包括:
当换肤功能被触发时,在所述软件的安装路径下,扫描并展示所述软件的皮肤包;
根据用户的选择操作,将所述用户选择的皮肤包作为所述指定皮肤包。
3.根据权利要求1所述的方法,其特征在于,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之前,所述方法还包括:
当换肤功能被触发时,确定所述软件当前使用的皮肤包,将所述软件当前使用的皮肤包作为所述指定皮肤包。
4.根据权利要求1-3中任一项所述的方法,其特征在于,在所述获取并展示所述指定皮肤包中的全局样式参数和可配置图标列表之后,所述方法还包括:
识别所述用户对所述全局样式参数的修改操作,获取修改后的全局样式参数;和/或,
识别所述用户对所述可配置图标列表中的特定图标的替换操作,获取所述用户输入的用于替换所述特定图标的图标,所述用户输入的图标与所述特定图标的格式和尺寸一致。
5.根据权利要求4所述的方法,其特征在于,根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包,包括:
若获取到修改后的全局样式参数,则根据修改后的全局样式参数以及所述指定皮肤包中的样式表生成模板,生成所述自定义皮肤包对应的软件界面样式表;
若获取到用户输入的用于替换所述特定图标的图标,则将所述可配置图标列表中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的可配置图标列表,并将所述指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的图标文件;
生成所述自定义皮肤包,所述自定义皮肤包包括换肤配置项定义文件、所述软件界面样式表、所述样式表生成模板以及所述自定义皮肤包对应的图标文件,所述换肤配置项定义文件包括所述修改后的全局样式参数以及所述自定义皮肤包对应的可配置图标列表。
6.一种软件换肤的装置,其特征在于,包括:
获取模块,用于获取指定皮肤包中的全局样式参数和可配置图标列表,所述全局样式参数包括软件界面的各皮肤元素的样式参数;
展示模块,用于展示所述获取模块获取的所述指定皮肤包中的全局样式参数和可配置图标列表;
生成模块,用于根据所述指定皮肤包中的内容,以及用户对所述全局样式参数和所述可配置图标列表中的图标的修改操作,生成自定义皮肤包;
写入模块,用于将所述自定义皮肤包写入软件的安装路径中,并将所述自定义皮肤包的皮肤包标识和加载路径写入所述软件的皮肤配置文件,以使得所述软件通过所述皮肤配置文件中的皮肤包标识和加载路径加载所述自定义皮肤包。
7.根据权利要求6所述的装置,其特征在于,所述装置还包括:扫描模块和确定模块;
所述扫描模块,用于当换肤功能被触发时,在所述软件的安装路径下,扫描所述软件的皮肤包;
所述展示模块,还用于展示所述扫描模块扫描到的皮肤包;
所述确定模块,用于根据用户的选择操作,将所述用户选择的皮肤包作为所述指定皮肤包。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:确定模块;
所述确定模块,用于当换肤功能被触发时,确定所述软件当前使用的皮肤包,将所述软件当前使用的皮肤包作为所述指定皮肤包。
9.根据权利要求6-8任一项所述的装置,其特征在于,所述装置还包括识别模块;
所述识别模块,用于识别所述用户对所述全局样式参数的修改操作,获取修改后的全局样式参数;和/或,识别所述用户对所述可配置图标列表中的特定图标的替换操作,获取所述用户输入的用于替换所述特定图标的图标,所述用户输入的图标与所述特定图标的格式和尺寸一致。
10.根据权利要求9所述的装置,其特征在于,所述生成模块,具体用于:
若获取到修改后的全局样式参数,则根据修改后的全局样式参数以及所述指定皮肤包中的样式表生成模板,生成所述自定义皮肤包对应的软件界面样式表;
若获取到用户输入的用于替换所述特定图标的图标,则将所述可配置图标列表中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的可配置图标列表,并将所述指定皮肤包中的图标文件中的特定图标替换为用户输入的图标,得到所述自定义皮肤包对应的图标文件;
生成所述自定义皮肤包,所述自定义皮肤包包括换肤配置项定义文件、所述软件界面样式表、所述样式表生成模板以及所述自定义皮肤包对应的图标文件,所述换肤配置项定义文件包括所述修改后的全局样式参数以及所述自定义皮肤包对应的可配置图标列表。
CN201911250271.1A 2019-12-09 2019-12-09 一种软件换肤的方法及装置 Pending CN111435313A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201911250271.1A CN111435313A (zh) 2019-12-09 2019-12-09 一种软件换肤的方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201911250271.1A CN111435313A (zh) 2019-12-09 2019-12-09 一种软件换肤的方法及装置

Publications (1)

Publication Number Publication Date
CN111435313A true CN111435313A (zh) 2020-07-21

Family

ID=71581057

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201911250271.1A Pending CN111435313A (zh) 2019-12-09 2019-12-09 一种软件换肤的方法及装置

Country Status (1)

Country Link
CN (1) CN111435313A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327729A (zh) * 2021-12-30 2022-04-12 珠海豹趣科技有限公司 一种稳定的系统图标替换方法及装置
CN114461212A (zh) * 2022-01-25 2022-05-10 北京星辰天合科技股份有限公司 软件换肤的方法和装置、存储介质及处理器

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030071860A1 (en) * 2001-08-29 2003-04-17 Goddard Edward Wayne System and method for managing graphical components
CN101106578A (zh) * 2007-08-31 2008-01-16 金蝶软件(中国)有限公司 一种更换界面主题的方法和系统
CN101582860A (zh) * 2009-06-16 2009-11-18 中兴通讯股份有限公司 不同通讯设备的用户界面皮肤的更换方法
CN104714828A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 应用安装、运行方法及装置
CN104915188A (zh) * 2014-03-13 2015-09-16 北京壹人壹本信息科技有限公司 一种变更主题的方法、系统及移动终端
CN105389176A (zh) * 2015-10-15 2016-03-09 中国民生银行股份有限公司 基于应用的皮肤处理方法及装置
CN106227512A (zh) * 2016-07-07 2016-12-14 网易(杭州)网络有限公司 应用软件显示界面的皮肤更换方法及装置
US20170099602A1 (en) * 2015-10-06 2017-04-06 Samsung Electronics Co., Ltd. Theme applying method and electronic device for performing the same
CN107436712A (zh) * 2017-07-28 2017-12-05 腾讯科技(深圳)有限公司 为呼出菜单设置皮肤的方法、装置及终端
CN107608674A (zh) * 2017-09-22 2018-01-19 深圳市创维软件有限公司 一种应用换肤方法、装置、计算机及存储介质
CN108334385A (zh) * 2017-01-18 2018-07-27 腾讯科技(深圳)有限公司 一种应用的用户界面皮肤管理方法及装置
CN108628518A (zh) * 2017-07-26 2018-10-09 北京视联动力国际信息技术有限公司 一种应用程序界面皮肤更换方法及装置
CN108804188A (zh) * 2018-05-30 2018-11-13 珠海市君天电子科技有限公司 界面换肤方法及装置
CN110187944A (zh) * 2019-04-25 2019-08-30 深圳市布谷鸟科技有限公司 一种基于安卓系统快速换肤的方法

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030071860A1 (en) * 2001-08-29 2003-04-17 Goddard Edward Wayne System and method for managing graphical components
CN101106578A (zh) * 2007-08-31 2008-01-16 金蝶软件(中国)有限公司 一种更换界面主题的方法和系统
CN101582860A (zh) * 2009-06-16 2009-11-18 中兴通讯股份有限公司 不同通讯设备的用户界面皮肤的更换方法
CN104915188A (zh) * 2014-03-13 2015-09-16 北京壹人壹本信息科技有限公司 一种变更主题的方法、系统及移动终端
CN104714828A (zh) * 2015-03-31 2015-06-17 北京奇虎科技有限公司 应用安装、运行方法及装置
US20170099602A1 (en) * 2015-10-06 2017-04-06 Samsung Electronics Co., Ltd. Theme applying method and electronic device for performing the same
CN105389176A (zh) * 2015-10-15 2016-03-09 中国民生银行股份有限公司 基于应用的皮肤处理方法及装置
CN106227512A (zh) * 2016-07-07 2016-12-14 网易(杭州)网络有限公司 应用软件显示界面的皮肤更换方法及装置
CN108334385A (zh) * 2017-01-18 2018-07-27 腾讯科技(深圳)有限公司 一种应用的用户界面皮肤管理方法及装置
CN108628518A (zh) * 2017-07-26 2018-10-09 北京视联动力国际信息技术有限公司 一种应用程序界面皮肤更换方法及装置
CN107436712A (zh) * 2017-07-28 2017-12-05 腾讯科技(深圳)有限公司 为呼出菜单设置皮肤的方法、装置及终端
CN107608674A (zh) * 2017-09-22 2018-01-19 深圳市创维软件有限公司 一种应用换肤方法、装置、计算机及存储介质
CN108804188A (zh) * 2018-05-30 2018-11-13 珠海市君天电子科技有限公司 界面换肤方法及装置
CN110187944A (zh) * 2019-04-25 2019-08-30 深圳市布谷鸟科技有限公司 一种基于安卓系统快速换肤的方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114327729A (zh) * 2021-12-30 2022-04-12 珠海豹趣科技有限公司 一种稳定的系统图标替换方法及装置
CN114461212A (zh) * 2022-01-25 2022-05-10 北京星辰天合科技股份有限公司 软件换肤的方法和装置、存储介质及处理器

Similar Documents

Publication Publication Date Title
CN110764791B (zh) 小程序的渠道适配方法、装置及电子设备
CN109614424B (zh) 页面布局生成方法、装置、计算设备和介质
CN109933322B (zh) 一种页面编辑方法、装置及计算机可读存储介质
CN109408764B (zh) 页面区域划分方法、装置、计算设备和介质
CN111522552B (zh) 子应用生成方法、装置、计算机设备和存储介质
Masiello et al. Mastering React Native
CN111177621B (zh) 一种web页面开发方法、装置及系统
CN107832052B (zh) 展示预览页面的方法、装置和存储介质以及电子设备
CN111475161B (zh) 一种访问组件的方法、装置及设备
JP2022520263A (ja) ミニプログラムのデータバインディング方法、装置、デバイス及びコンピュータプログラム
CN113741898B (zh) 表单生成方法、装置及设备
CN111580712B (zh) 桌面定制方法、装置、设备、系统及存储介质
CN113885935A (zh) 资源打包方法、装置、电子设备及计算机可读存储介质
CN111736740A (zh) 图片热区生成方法、装置、设备和存储介质
CN111435313A (zh) 一种软件换肤的方法及装置
CN110781425B (zh) 移动端h5页面的显示方法、装置、设备及存储介质
Panigrahy Xamarin Mobile Application Development for Android
CN117093386B (zh) 页面截图方法、装置、计算机设备和存储介质
Delessio et al. Sams teach yourself Android application development in 24 hours
Freeman Pro react 16
CN111061414A (zh) 皮肤更换方法、装置、电子设备及可读存储介质
CN115993971A (zh) 活动页面生成方法、计算设备及计算机存储介质
CN111240676A (zh) 一种生成骨架屏的代码的方法及装置
CN116595284B (zh) 网页系统运行方法、装置、设备、存储介质和程序
CN114692578A (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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200721