一种动态切换界面的方法和装置转让专利

申请号 : CN201210442067.1

文献号 : CN103809864B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 汤竞雄

申请人 : 阿里巴巴集团控股有限公司

摘要 :

本申请提供了一种动态切换界面的方法和装置,该方法包括:预先配置第一显示界面的第一属性配置文件,以及第二显示界面的第二属性配置文件,当接收到从当前展示的第一显示界面切换至第二显示界面的切换指令时,获取所述第二显示界面的第二属性配置文件;依据所述第二属性配置文件与所述第一属性配置文件的显示属性之间的差异,加载所述第二显示界面;将当前展示的第一显示界面切换为所述第二显示界面进行展示。采用本申请实施例的方法或装置,不会影响计算机系统的性能,也改善了界面切换存在的停顿感从而提升了用户体验。同时,也不再需要界面代码来实现界面切换,避免了维护这些结构复杂的代码而导致成本高的结果。

权利要求 :

1.一种动态切换界面的方法,其特征在于,预先配置第一显示界面的第一属性配置文件,以及第二显示界面的第二属性配置文件,所述属性配置文件用于表示显示界面的显示属性,所述显示界面的显示属性为:所述显示界面中的所有控件的属性;该方法包括:当接收到从当前展示的第一显示界面切换至第二显示界面的切换指令时,获取所述第二显示界面的第二属性配置文件;

依据所述第二属性配置文件与所述第一属性配置文件的显示属性之间的差异,加载所述第二显示界面;所述依据所述第二属性配置文件与所述第一属性配置文件的显示属性之间的差异,加载所述第二显示界面,包括:获取所述第二属性配置文件中配置的第二显示界面的所有显示控件作为第二显示控件队列,以及获取第一显示界面的所有显示控件作为第一显示控件队列;依据所述第一显示控件队列和第二显示控件队列中显示控件的属性差异,生成所述第二显示界面;

将当前展示的第一显示界面切换为所述第二显示界面进行展示。

2.根据权利要求1所述的方法,其特征在于,依据所述第一显示控件队列和第二显示控件队列中显示控件的属性差异,生成所述第二显示界面,包括:依次判断所述第二显示控件队列中的显示控件是否在所述第一显示控件队列中存在,如果是,则用该第二显示控件队列中的显示控件的属性替换所述第一显示控件队列中对应的显示控件的属性,如果否,则直接加载所述当前显示控件的属性;

如果第一显示控件队列中的显示控件在所述第二显示控件队列中不存在,则卸载该第一显示控件队列中的显示控件及其属性;

当所述第二显示控件队列和第一显示控件队列的显示属性的差异比对完毕时,组合第二显示界面所需的显示控件以生成第二显示界面。

3.根据权利要求1所述的方法,其特征在于,所述获取所述第二显示界面的第二属性配置文件,包括:依据所述切换指令获取所述第二属性配置文件的存储路径;

从所述存储路径指示的存储空间中读取所述第二属性配置文件。

4.根据权利要求1~3任一项所述的方法,其特征在于,所述第一显示界面和第二显示界面位于同一个窗口中。

5.一种动态切换界面的装置,其特征在于,该装置包括:

配置模块,用于预先配置第一显示界面的第一属性配置文件,以及第二显示界面的第二属性配置文件,所述属性配置文件用于表示显示界面的显示属性;

获取模块,用于当接收到从当前展示的第一显示界面切换至第二显示界面的切换指令时,获取所述第二显示界面的第二属性配置文件;

加载模块,用于依据所述第二属性配置文件与所述第一属性配置文件的显示属性之间的差异,加载所述第二显示界面;所述加载模块包括:第一获取子模块,用于获取所述第二属性配置文件中配置的第二显示界面的所有显示控件作为第二显示控件队列,以及获取第一显示界面的所有显示控件作为第一显示控件队列;生成子模块,用于依据所述第一显示控件队列和第二显示控件队列中显示控件的属性差异,生成所述第二显示界面;

切换模块,用于将当前展示的第一显示界面切换为所述第二显示界面进行展示。

6.根据权利要求5所述的装置,其特征在于,所述生成子模块包括:

判断子模块,用于依次判断所述第二显示控件队列中的显示控件是否在所述第一显示控件队列中存在;

替换子模块,用于在所述判断子模块的结果为是的情况下,用该第二显示控件队列中的显示控件的属性替换所述第一显示控件队列中对应的显示控件的属性;

加载子模块,用于在所述判断子模块的结果为否的情况下,直接加载所述当前显示控件的属性;

卸载子模块,应用于如果第一显示控件队列中的显示控件在所述第二显示控件队列中不存在,卸载该第一显示控件队列中的显示控件及其属性;

组合子模块,用于当所述第二显示控件队列和第一显示控件队列的比对完毕时,组合第二显示界面所需的显示控件以生成第二显示界面。

7.根据权利要求5所述的装置,其特征在于,所述获取模块包括:

第二获取子模块,用于依据所述切换指令获取所述第二属性配置文件的存储路径;

读取子模块,用于从所述存储路径指示的存储空间中读取所述第二属性配置文件。

8.根据权利要求5~7任一项所述的装置,其特征在于,所述第一显示界面和第二显示界面位于同一个窗口中。

说明书 :

一种动态切换界面的方法和装置

技术领域

[0001] 本申请涉及计算机系统的数据处理领域,特别涉及一种动态切换界面的方法和装置。

背景技术

[0002] 计算机软件(Computer Software)是指计算机系统中的程序,程序是计算任务的处理对象和处理规则的描述。有些计算机软件有很多个显示界面,在软件启动或者运行的不同阶段,计算机软件所显示的界面也是不同的。当计算机软件的显示界面,由于某种原因,需要从一个界面切换到另一个界面时,需要对界面展示上的控件进行调整,例如,中英文切换导致的控件布局调整等,其中,控件是对数据和方法的封装。
[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] 与现有技术相比,本申请包括以下优点:
[0043] 在本申请中,在当前打开的计算机软件中,用户可能会从当前正在浏览的第一显示界面切换至第二显示界面,而为了减少在从第一显示界面切换至第二显示界面所耗费的计算机系统资源,需要预先为切换前后的第一显示界面和第二显示界面的属性配置文件,在需要从第一显示界面切换至第二显示界面的时候,直接调用第二显示界面的属性配置文件、第一显示界面的属性配置文件进行显示属性的比对,从而在实现动态切换界面的同时也不影响计算机系统资源,还能提升用户对于切换界面的使用体验。同时,也不再需要界面代码来实现界面切换,避免了维护这些结构复杂的代码而导致成本高的结果。
[0044] 进一步的,界面切换的实现,实际上由底层控件库在同一个窗口中作切换,所以对于计算机系统的资源占用较少,并且界面切换性能也比现有技术更优越。
[0045] 当然,实施本申请的任一产品并不一定需要同时达到以上所述的所有优点。

附图说明

[0046] 为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
[0047] 图1是本申请的一种动态切换界面的方法实施例的流程图;
[0048] 图2是本申请方法实施例中步骤102的流程图;
[0049] 图3是本申请方法实施例中步骤103的流程图;
[0050] 图4是本申请方法实施例中步骤302的流程图;
[0051] 图5是本申请中显示界面的开发和底层控件库的关系示意图;
[0052] 图6是本申请的一种动态切换界面的装置实施例的结构框图;
[0053] 图7是本申请装置实施例中获取模块601的结构框图;
[0054] 图8是本申请装置实施例中加载模块602的结构框图;
[0055] 图9是本申请装置实施例中生成子模块702的结构框图。

具体实施方式

[0056] 下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
[0057] 本申请可用于众多通用或专用的计算装置环境或配置中。例如:个人计算机、服务器计算机、手持设备或便携式设备、平板型设备、多处理器装置、包括以上任何装置或设备的分布式计算环境等等。
[0058] 本申请可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序模块。一般地,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本申请,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序模块可以位于包括存储设备在内的本地和远程计算机存储介质中。
[0059] 本申请的主要思想之一可以包括,在当前打开的计算机软件中,用户可能会从当前正在浏览的第一显示界面切换至第二显示界面,而为了减少在从第一显示界面切换至第二显示界面所耗费的计算机系统资源,需要预先为切换前后的第一显示界面和第二显示界面的属性配置文件,在需要从第一显示界面切换至第二显示界面的时候,直接调用第二显示界面的属性配置文件、第一显示界面的属性配置文件进行显示属性的比对,从而在实现动态切换界面的同时也不影响计算机系统资源,还能提升用户对于切换界面的使用体验。
[0060] 参考图1,示出了本申请一种动态切换界面的方法实施例的流程图,本实施例可以包括以下步骤:
[0061] 步骤101:预先配置第一显示界面的第一属性配置文件,以及第二显示界面的第二属性配置文件,所述属性配置文件用于表示显示界面的显示属性。
[0062] 在本申请实施例中,对应切换前后的第一显示界面和第二显示界面来说,只需要预先配置好这两个显示界面的属性配置文件即可实现动态切换。其中,第一显示界面和第二显示界面是同一个计算机软件中,处于软件不同运行状态下的不同显示页面,例如对于阿里旺旺软件来讲,当用户登录成功之后,如果点击登录用户是买方用户,则对应一个“买家版页面”,而如果用户是卖方用户,则对应一个“卖家版页面”,如果同一个用户需要从“买家版页面”切换至“卖家版页面”,那么“买家版页面”就是本申请实施例中的第一显示界面,而“卖家版页面”就是本申请实施例中的第二显示界面。
[0063] 在执行从第一显示界面到第二显示界面的切换操作时,第一显示界面的第一属性配置文件和第二显示界面的第二属性配置文件都已经预先配置完成,不过需要说明的是,第一属性配置文件和第二属性配置文件配置完成之后,因为用户不一定立即就从第一显示界面切换至第二显示界面,所以也无需马上执行步骤102及后续的切换流程。
[0064] 其中,属性配置文件用来表示对应的显示界面的显示属性,即是显示界面中的所有控件的属性,例如,一个按钮控件的长度和高度信息,以及该按钮控件在显示界面的位置信息等。该属性配置文件可以采用XML(可扩展标记语言,Extensible Markup Language)文件实现,而具体的根据属性配置文件来绘制显示界面的操作可以由底层控件库实现。那么在配置完成第一属性配置文件和第二属性配置文件之后,可以将这两个属性配置文件的存储路径注册至底层控件库中,后续在需要调用时可以依据存储路径找到属性配置文件。具体实现时,可以将显示界面的标识与存储路径一一对应的保存,这样就可以在切换时确定与目标显示界面唯一对应的一个存储路径。
[0065] 步骤102:当接收到从当前展示的第一显示界面切换至第二显示界面的切换指令时,获取所述第二显示界面的第二属性配置文件。
[0066] 其中,本申请实施例中提及的第一显示界面和第二显示界面位于同一个窗口中,即是在用户打开某一个计算机软件时的当前窗口下实现第一显示界面到第二显示界面的动态切换。本步骤在实际应用中,需在接收到用户触发的从当前展示的第一显示界面切换至第二显示界面的切换指令时执行,该切换指令可以理解为,用户当前显示界面为“买家版页面”时,点击了“卖家版页面”的链接或者按钮等,向底层控件库发出了需要从当前显示的“买家版页面”切换至“卖家版页面”进行显示的命令。当然,在实际应用场景中,也可以采用其他方式触发从当前展示的第一显示界面切换至第二显示界面的切换指令。
[0067] 参考图2,为步骤102的流程图,其中,获取所述第二显示界面的第二属性配置文件的步骤,具体可以包括:
[0068] 步骤201:依据所述切换指令获取所述第二属性配置文件的存储路径;
[0069] 因为切换指令包含了目标显示界面即是第二显示界面,那么,实际应用中底层控件库就可以根据第二显示界面的标识获取到已经注册过的第二属性配置文件的存储路径;
[0070] 步骤202:从所述存储路径指示的存储空间中读取所述第二属性配置文件。
[0071] 底层控件库再从存储路径指示的存储空间中读取到第二属性配置文件。
[0072] 接着返回图1,在步骤103中:依据所述第二属性配置文件与所述第一属性配置文件的显示属性之间的差异,加载所述第二显示界面。
[0073] 其中,第二属性配置文件反映的是第二显示界面的显示控件属性,第一属性配置文件反映的是第一显示界面的显示控件属性,那么就可以将这两个文件中配置的显示控件一一进行比对,从而根据比对结果记载第二显示界面。
[0074] 参考图3所示,为步骤103的流程图,在实施时具体可以包括:
[0075] 步骤301:获取所述第二属性配置文件中配置的第二显示界面的所有显示控件作为第二显示控件队列,以及获取第一显示界面的所有显示控件作为第一显示控件队列;
[0076] 因为在第二属性配置文件中都已经配置好了第二显示界面中应该包括哪些控件以及撰写控件的属性,例如,控件的显示位置及大小等信息,所以在比对第二属性配置文件和第一属性配置文件的差异时,需要先获取到第二属性配置文件中配置的第二显示界面的所有显示控件作为第二显示控件队列,以及第一显示界面的所有显示控件作为第一显示控件队列。
[0077] 步骤302:依据所述第一显示控件队列和第二显示控件队列中显示控件的属性差异,生成所述第二显示界面。
[0078] 因为第一显示界面和第二显示界面是不同的显示界面,所以第一显示控件队列和第二显示控件队列中的显示控件一定存在属性差异,例如,第一显示控件队列中的显示控件在第二显示控件队列中不存在,或者第一显示控件队列中的显示控件虽然在第二显示控件队列中存在,但是属性发生了变化,等等,在本步骤即是根据两个队列中的显示控件的差异生成第二显示界面。
[0079] 参考图4,为步骤302的流程图,步骤302在实施时具体可以包括:
[0080] 步骤401:依次判断所述第二显示控件队列中的显示控件是否在所述第一显示控件队列中存在,如果是,则进入步骤402;如果否,则进入步骤403;
[0081] 在本实施例中,先比对第二显示控件中的显示控件是否在第一显示控件队列中存在,如果存在,则说明该显示控件可能在第二属性配置文件中的显示属性发生了变化,当然,也可能没有变化,此时不管有没有变化都可以重新加载该显示控件以实现切换;
[0082] 步骤402:用该第二显示控件队列中的显示控件的属性替换所述第一显示控件队列中对应的显示控件的属性;
[0083] 如果一个控件在切换前后的两个显示界面中都存在,那么则将其在第二属性配置文件中配置的属性替换在第一属性配置文件中配置的属性,即是实现显示控件从第一显示界面到第二显示界面的显示更新;
[0084] 步骤403:直接加载所述显示控件的属性;
[0085] 如果一个显示控件在第一显示界面中没有而在第二显示界面中有,那么说明是在第二显示界面中新增加的一个控件,则可以直接加载该显示控件的属性;
[0086] 步骤404:如果第一显示控件队列中的显示控件在所述第二显示控件队列中不存在,则卸载该第一显示控件队列中的显示控件及其属性;
[0087] 在本步骤中再判断第一显示控件队列中的显示控件是否在所述第二显示控件队列中存在,如果不存在,说明第二显示界面中并没有该控件,则需要卸载该第一显示控件队列中的显示控件及其属性。
[0088] 需要说明的是,在第一显示控件队列和第二显示控件队列中显示控件的比对过程中,先比对第一显示控件队列中的所有显示控件,再比对第二显示控件队列中的显示控件,或者,先比对第二显示控件队列中的显示控件,再比对第一显示控件队列中的所有显示控件,或者,两个队列中的显示控件随机进行比对,在具体实施时都可以任选一种方式执行,只需在步骤405之前,将两个队列中的显示控件都比对完成即可,即是步骤401~步骤404的顺序可以自主调整,并不限定于本实施例中的描述顺序。
[0089] 步骤405:当所述第二显示控件队列和第一显示控件队列的显示控件比对完毕时,组合第二显示界面所需的显示控件以生成第二显示界面。
[0090] 当:当所述第二显示控件队列和第一显示控件队列的显示控件比对完毕时,组合那些第二显示界面所需的显示控件,具体的可以由底层控件库对于第二显示界面所需的显示控件进行绘制,以生成切换后的第二显示界面。
[0091] 接着返回图1的实施例,在步骤104中:将当前展示的第一显示界面切换为所述第二显示界面进行展示。
[0092] 当第二显示界面绘制完成后,在用户打开的当前窗口中展示第二显示界面,以实现将当前展示的第一显示界面切换为所述第二显示界面进行展示的目的。
[0093] 采用本申请实施例,因为属性配置文件是预先配置好的,所以再切换时直接加载属性配置文件即可,就无需先关闭一个再创建另一个界面,也就不会因为对于界面的反复操作而影响计算机系统的性能,进一步的也改善了界面切换存在的停顿感从而提升了用户体验。同时,也不再需要界面代码来实现界面切换,避免了维护这些结构复杂的代码而导致成本高的结果。
[0094] 进一步的,界面切换的实现,实际上由底层控件库在同一个窗口中作切换,所以对于计算机系统的资源占用较少,并且界面切换性能也比现有技术更优越。
[0095] 在本申请实施例中,显示界面位于用户可见的上层界面展示层,而实施技术方案的底层控件库则是用户不可见的,参考图5,示出了显示界面的开发和底层控件库的关系。
[0096] 对于前述的方法实施例,为了简单描述,故将其都表述为一系列的动作组合,但是本领域技术人员应该知悉,本申请并不受所描述的动作顺序的限制,因为依据本申请,某些步骤可以采用其他顺序或者同时进行。其次,本领域技术人员也应该知悉,说明书中所描述的实施例均属于优选实施例,所涉及的动作和模块并不一定是本申请所必须的。
[0097] 与上述本申请一种动态切换界面的方法实施例所提供的方法相对应,参见图6,本申请还提供了一种动态切换界面的装置实施例,在本实施例中,该装置可以包括:
[0098] 配置模块600,用于预先配置第一显示界面的第一属性配置文件,以及第二显示界面的第二属性配置文件,所述属性配置文件用于表示显示界面的显示属性。
[0099] 获取模块601,用于当接收到从当前展示的第一显示界面切换至第二显示界面的切换指令时,获取所述第二显示界面的第二属性配置文件。
[0100] 其中,所述第一显示界面和第二显示界面位于同一个窗口中。
[0101] 参考图7,图7为获取模块601的结构框图,具体可以包括:
[0102] 第二获取子模块701,用于依据所述切换指令获取所述第二属性配置文件的存储路径;
[0103] 读取子模块702,用于从所述存储路径指示的存储空间中读取所述第二属性配置文件。
[0104] 加载模块602,用于依据所述第二属性配置文件与所述第一属性配置文件的显示控件之间的差异,加载所述第二显示界面。
[0105] 参考图8,图8为加载模块602的结构框图,具体可以包括:
[0106] 第一获取子模块801,用于获取所述第二属性配置文件中配置的第二显示界面的所有显示控件作为第二显示控件队列,以及获取第一显示界面的所有显示控件作为第一显示控件队列;
[0107] 生成子模块802,用于依据所述第一显示控件队列和第二显示控件队列中显示控件的差异比较结果,生成所述第二显示界面。
[0108] 参考图9,为生成子模块702的结构框图,具体可以包括:
[0109] 判断子模块901,用于依次判断所述第二显示控件队列中的显示控件是否在所述第一显示控件队列中存在;
[0110] 替换子模块902,用于在所述判断子模块的结果为是的情况下,将该第二显示控件队列中的显示控件的属性替换所述第一显示控件队列中对应的显示控件的属性;
[0111] 加载子模块903,用于在所述判断子模块的结果为否的情况下,直接加载所述当前显示控件的属性;
[0112] 卸载子模块904,应用于如果第一显示控件队列中的显示控件在所述第二显示控件队列中不存在,卸载该第一显示控件队列中的显示控件及其属性;
[0113] 组合子模块905,用于当所述第二显示控件队列和第一显示控件队列的比对完毕时,组合第二显示界面所需的显示控件以生成第二显示界面。
[0114] 切换模块603,用于将当前展示的第一显示界面切换为所述第二显示界面进行展示。
[0115] 采用本申请实施例,因为属性配置文件是预先配置好的,所以再切换时直接加载属性配置文件即可,就无需先关闭一个再创建另一个界面,也就不会因为对于界面的反复操作而影响计算机系统的性能,进一步的也改善了界面切换存在的停顿感从而提升了用户体验。同时,也不再需要界面代码来实现界面切换,避免了维护这些结构复杂的代码而导致成本高的结果。
[0116] 进一步的,界面切换的实现,实际上由底层控件库在同一个窗口中作切换,所以对于计算机系统的资源占用较少,并且界面切换性能也比现有技术更优越。
[0117] 需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
[0118] 最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个......”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
[0119] 以上对本申请所提供的一种动态切换界面的方法和装置进行了详细介绍,本文中应用了具体个例对本申请的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本申请的方法及其核心思想;同时,对于本领域的一般技术人员,依据本申请的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本申请的限制。