CN110471738A - 应用程序的主题切换方法、装置、电子设备及存储介质 - Google Patents
应用程序的主题切换方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN110471738A CN110471738A CN201910778247.9A CN201910778247A CN110471738A CN 110471738 A CN110471738 A CN 110471738A CN 201910778247 A CN201910778247 A CN 201910778247A CN 110471738 A CN110471738 A CN 110471738A
- Authority
- CN
- China
- Prior art keywords
- theme
- page
- opened
- switching function
- switching
- 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.)
- Granted
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements 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/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本公开公开了一种应用程序的主题切换方法、装置、电子设备及存储介质。该方法包括:当检测到主题切换事件时,确定待切换的新主题;依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。无需重新加载各应用程序页面,简化了主题切换的操作,避免了切换主题造成的卡顿现象,极大的降低了主题切换操作的复杂度。
Description
技术领域
本公开实施例涉及数据处理技术,尤其涉及一种应用程序的主题切换方法、装置、电子设备及存储介质。
背景技术
为了提高用户使用应用程序的体验,应用程序内部通常会提供多种主题供用户进行切换。
目前,应用程序通常是采用重新加载的方式进行各页面主题的切换,具体的,当用户在主题设置页面触发主题切换指令后,应用程序关闭当前已打开的所有页面,并采用待切换的主题重新加载并显示关闭前的已打开页面,从而实现应用程序的主题切换。
但是,采用重新加载的方式进行应用程序主题的切换,由于页面关闭再加载的过程需要耗费一定的时间,从而导致应用程序切换主题的过程存在卡顿现象,亟需改进。
发明内容
本公开实施例提供了一种应用程序的主题切换方法、装置、电子设备及存储介质,无需重新加载各应用程序页面,避免了切换主题造成的卡顿现象,降低了主题切换操作的复杂度。
第一方面,本公开实施例提供了一种应用程序的主题切换方法,该方法包括:
当检测到主题切换事件时,确定待切换的新主题;
依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
第二方面,本公开实施例还提供了一种应用程序的主题切换装置,该装置包括:
新主题确定模块,用于当检测到主题切换事件时,确定待切换的新主题;
主题参数修改模块,用于依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
页面渲染模块,用于依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
第三方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任意实施例所述的应用程序的主题切换方法。
第四方面,本公开实施例提供了一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任意实施例所述的应用程序的主题切换方法。
本公开实施例提供了一种应用程序的主题切换方法、装置、电子设备及存储介质,在检测到主体切换事件时,确定待切换的新主题,依据该新主题和记录的已打开页面的主题切换函数标识,修改各已打开页面的主题参数,并对修改的主题参数进行渲染,完成对已打开页面的主题切换。本公开实施例的方案在对应用程序进行主题切换时,无需重新加载各应用程序页面,只需要对已打开页面的部分主题参数进行修改,渲染时也只渲染修改的主题参数,简化了主题切换的操作,避免了切换主题造成的卡顿现象,极大的降低了主题切换操作的复杂度。
附图说明
结合附图并参考以下具体实施方式,本公开各实施例的上述和其他特征、优点及方面将变得更加明显。贯穿附图中,相同或相似的附图标记表示相同或相似的元素。应当理解附图是示意性的,原件和元素不一定按照比例绘制。
图1示出了本公开实施例提供的一种应用程序的主题切换方法的流程图;
图2A示出了本公开实施例提供的另一种应用程序的主题切换方法的流程图;
图2B示出了本公开实施例提供的应用程序页面渲染效果示意图;
图3A示出了本公开实施例提供的另一种应用程序的主题切换方法的流程图;
图3B示出了本公开实施例提供的应用程序内部模块构成示意图;
图3C示出了本公开实施例提供的在存储队列中挂接主题切换函数标识的原理示意图;
图4示出了本公开实施例提供的一种应用程序的主题切换装置的结构示意图;
图5示出了本公开实施例提供的一种电子设备的结构示意图。
具体实施方式
下面将参照附图更详细地描述本公开的实施例。虽然附图中显示了本公开的某些实施例,然而应当理解的是,本公开可以通过各种形式来实现,而且不应该被解释为限于这里阐述的实施例,相反提供这些实施例是为了更加透彻和完整地理解本公开。应当理解的是,本公开的附图及实施例仅用于示例性作用,并非用于限制本公开的保护范围。
应当理解,本公开的方法实施方式中记载的各个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。本公开实施方式中的多方之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1示出了本公开实施例提供的一种应用程序的主题切换方法的流程图,本实施例可适用于对应用程序进行主题切换的情况,例如,可以适用于在检测到主题切换事件后,对应用程序的已打开页面进行主题切换的情况。该方法可以由本公开实施例提供的应用程序的主题切换装置或电子设备来执行,该装置可以通过软件和/或硬件的方式来实现。可选的,本公开实施例的方法可以由电子设备内安装的应用程序中的主题切换进程或模块来执行。
可选的,如图1所示,本实施例中的方法可以包括如下步骤:
S101,当检测到主题切换事件时,确定待切换的新主题。
其中,主题切换事件可以是对应用程序的页面进行主题切换的事件。主题切换事件可以是安装应用程序的客户端所处场景满足主题切换要求时产生的切换主题的事件,例如,安装应用程序的客户端在周围光线较弱时,满足夜间主题切换要求,此时产生夜间主题切换事件。主题切换事件还可以是用户点击应用程序上的按键,手动触发的主题切换事件,例如,用户点击应用程序主题设置页面上的某一主题的切换按钮,就会触发该主题的切换事件。
可选的,在本步骤中,应用程序中的主题切换进程或模块检测到主题切换事件的过程可以包括以下至少一种方式:
方式一、检测到当前场景满足主题切换要求。
其中,当前场景可以是电子设备上的定位模块获取的电子设备所在位置对应的场景,例如,若当前位置为商场,则商场对应的场景为休息场景;若当前位置为公司,则公司对应的场景为工作场景。还可以是电子设备上的传感器获取的周围环境对应的场景,例如,可以是电子设备上的光强传感器获取的环境光线的光强值,若光强值大于预设光强阈值,则当前场景为白天场景,否则当前场景为夜间场景。也可以是当前时刻对应的场景,例如当前时刻为中午十一点半到十二点半,则当前时刻对应的场景为吃饭场景,若当前时刻为晚上十点之后,则当前时刻对应的场景为夜间场景。本实施例可以预先设置各场景对应的主题,例如,为夜间场景设置夜间主题,为工作场景设置工作主题等。
示例性的,应用程序内部可以设置一个检测模块,用于基于定位模块、传感器或时间模块确定当前场景,并检测当前场景是否对应有预设的主题,若有,则说明检测到当前场景满足主题切换要求,即检测到主题切换事件,则当前场景对应的主题为待切换的新主题。
方式二、检测到用户触发的主题切换操作。
示例性的,应用程序内部的检测模块可以主动监听应用程序的相关进程是否接收到用户在应用程序主题设置页面上触发的主题设置操作(如点击主题设置页面上的某一主题的切换按键),若监听到用户触发的主题设置操作,则说明检测到主题切换事件,还可以是应用程序的设置页面接收到用户触发的主题设置操作后,会向检测模块发送主题切换消息,此时检测模块接收到该主题切换消息,说明检测到主题切换事件,且用户的触发操作对应的主题为待切换的新主题。
可选的,本步骤中检测到的主题切换事件都对应有一个主题,可以在检测到该主题切换事件时,将该主题切换事件对应的主题确定为待切换的新主题。具体的,若主题切换事件是当前场景满足主题切换要求,则可以将当前场景对应的主题确定为待切换的新主题。例如,若检测到满足主题切换要求的当前场景为夜间场景,且夜间场景对应的主题为夜间主题,则此时可以确定待切换的新主题为夜间主题。若主题切换事件是用户触发的主题切换操作,则可以将用户触发操作对应的主题确定为待切换的新主题。例如,若用户在应用程序的主题设置页面上点击了夜间主题按键,则此时可以确定待切换的新主题为夜间主题。
S102,依据记录的已打开页面的主题切换函数标识和新主题,修改已打开页面的主题参数。
其中,主题切换函数可以是对页面执行主题切换时,进行页面相关参数修改所需要执行的函数代码,例如,若对某一页面进行主题切换是切换该页面的背景颜色、图片和字体,则此时主题切换函数可以是修改背景颜色、图片和字体的程序代码。可选的,对于应用程序的各页面来说,每个页面对应的主题切换函数可以相同也可以不同。主题切换函数标识可以是主题切换函数代码的唯一性标识,例如,可以是主题切换函数的函数名、编号、简称等。主题参数可以是应用程序的页面中和主题相关的页面参数,例如,可以包括但不限于页面的背景颜色、插图、字体以及页面元素的图标形状和颜色等等。
可选的,在本实施例中,应用程序的各页面对应的主题切换函数可以是应用程序研发人员在设计应用程序时预先设置好的,各主题切换函数可以是设置在其对应页面内,如可以是位于页面程序的代码段中的某一位置处。本公开实施例可以是在应用程序内部预先记录所有页面对应的主题切换函数的函数标识;还可以是在应用程序启动后,检测到有页面开启时,再记录该开启页对应的主题切换函数的函数标识。
可选的,在对应用程序进行主题切换时,可以是通过已记录的各已打开页面的主题切换函数标识,调用各页面的主题切换函数,然后将直接新主题作为输入参数,运行各主题切换函数的程序代码;还可以是将新主题中不同的参数作为其对应的不同主题切换函数的输入参数,运行各主题切换函数的程序代码,从而完成对已打开页面的主题参数的修改。例如,若新主题是夜间主题,需要修改的是将背景色设置为黑色,将字体颜色设置为灰色,则此时可以通过记录的各已打开页面的修改背景色和字体颜色的函数代码的函数名,调用修改背景色和字体颜色的函数代码,将背景色为黑色作为输入参数输入到修改背景色的函数代码中,运行该函数代码,实现将页面的背景色参数修改为黑色;将字体颜色为灰色作为输入参数输入到修改字体颜色的函数代码中,运行该函数代码,实现将页面的字体颜色参数修改为灰色。
可选的,对于一个应用程序来说,不同主题对应的待修改的主题参数可能相同,也可能不同。所以为了提高主题参数修改效率,避免对不必要修改的主题参数重复设置,本公开实施例在依据记录的已打开页面的主题切换函数标识和新主题,修改已打开页面的主题参数时,还可以是:依据新主题,从记录的已打开页面的主题切换函数标识中确定目标主题切换函数标识;依据目标主题切换函数标识和新主题,修改已打开页面的主题参数。
具体的,可以是根据新主题,先从已记录的已打开页面的主题切换函数标识中,确定出该新主题在各已打开页面中需要修改的主题参数所对应的主题切换函数标识(即目标换主题切换函数标识),然后依据目标主题切换函数标识和新主题,对已打开页面的主题参数进行修改。例如,若记录的某一打开页面的主题切换函数标识有背景色修改函数标识、字体颜色修改函数标识、字体大小和字体类型修改函数标识、背景图片修改函数标识,而当前主题为夜间主题,其在该页面中需要修改的只有背景颜色和字体颜色,别的主题参数不需要修改,此时可以是根据该夜间主题,从已记录的各主题切换函数标识中将背景色修改函数标识和字体颜色修改函数标识作为目标主题切换函数标识,然后依据这两个目标主题切换函数标识,修改该页面的背景色参数和字体颜色参数。
可选的,具体的依据目标主题切换函数标识和新主题,修改已打开页面的主题参数的过程与上述介绍的依据主题切换函数标识和新主题,对已打开页面的主题参数进行修改的过程类似,不进行赘述。
S103,依据修改的主题参数,对已打开页面进行渲染,以实现对已打开页面的主题切换。
可选的,对于应用程序的页面来说,其主题参数修改完成后,并没有完成该页面的主题切换,还需要对页面渲染后才可以实现最终的主题切换。具体的,可以是调用页面渲染函数的程序代码,将修改后的主题参数作为输入参数,运行该页面渲染函数的程序代码,从而实现对已打开页面的渲染操作。可选的,由于本实施例在对已打开页面的主题参数进行修改时,并不是对所有的页面参数都进行了修改,所以本步骤在对已开页面进行渲染时,为了提高渲染效率,可以是只对修改的主题参数进行渲染,如可以是将S102中修改的各主题参数作为输入参数,来运行页面渲染函数的程序代码,完成对已打开页面的主题参数的渲染,对于其他参数仍采用已有的渲染效果。
可选的,由于本公开实施例中已打开页面的个数可能有多个,所以本步骤可以是按照一定的顺序(如各页面的打开顺序)依次对各已打开页面执行S102的页面主题参数修改操作以及本步骤的页面渲染操作。也可以是启动多个子进程并行对各已打开页面执行S102的页面主题参数修改操作以及本步骤的页面渲染操作
本公开实施例提供了一种应用程序的主题切换方法,在检测到主体切换事件时,确定待切换的新主题,依据该新主题和记录的已打开页面的主题切换函数标识,修改各已打开页面的主题参数,并对修改的主题参数进行渲染,完成对已打开页面的主题切换。本实施例的方案,不仅适用于用户手动触发的主题切换事件,还可以适用于系统实时根据当前场景确定的主题切换事件。由于本实施例在对应用程序主题进行切换时,无需依次执行添加页面元素、设置页面参数和页面之间的逻辑性、以及对所有的页面参数进行渲染等一系列的重新加载操作,只需对已打开页面的部分主题参数进行修改和渲染,简化了主题切换的操作,避免了切换主题造成的卡顿现象,极大的降低了主题切换操作的复杂度,此外,本实施例的方案不用考虑多个页面之间的逻辑性,无论已打开页面数量的多少,都可以实时进行页面主题的切换操作。
图2A示出了本公开实施例提供的另一种应用程序的主题切换方法的流程图,图2B示出了本公开实施例提供的应用程序页面渲染效果示意图。本实施例在上述实施例提供的各个可选方案的基础上进行了优化,具体的,本实施例对如何依据记录的已打开页面的主题切换函数标识和新主题,修改已打开页面的主题参数的具体过程进行一种可实施方式的详细介绍。
具体的,本实施例中的主题切换函数可以包括:背景主题切换函数标识和/或元素主题切换函数标识。其中,背景主题切换函数为检测到主题切换事件后,直接调用执行的修改背景参数的相关函数,如可以包括但不限于:修改背景色的函数、修改背景图片的函数、修改字体颜色的函数等。元素主题切换函数为检测到主题切换事件后,并不立刻执行,而是在检测到系统进程执行某一逻辑操作后,才调用执行的与该逻辑操作对应的元素参数修改操作的函数,例如,若应用程序根据页面的展开和收起,同一个页面元素的颜色和形状不同,则此时元素主题切换函数可以是检测到用户触发页面展开这一逻辑操作后,执行修改页面元素颜色和形状的函数。
可选的,接下来本实施例以主题切换函数为背景主题切换函数标识和/或元素主题切换函数标识为例进行介绍。具体的,如图2A-2B所示,本实施例中的方法可以包括如下步骤:
S201,当检测到主题切换事件时,确定待切换的新主题。
S202,基于已打开页面的背景主题切换函数标识和新主题,调用背景主题切换函数修改已打开页面的背景参数。
可选的,由于背景主题切换函数为检测到主题切换事件后,直接调用执行的修改背景参数的相关的函数。所以当检测到主题切换事件时,可以直接遍历记录的已打开页面的所有主题切换函数标识,从中查找出背景主题切换函数标识,然后基于该背景主题切换函数标识,调用其对应的背景主题切换函数的程序代码,将新主题作为输入参数运行该背景主题切换函数的程序代码,从而实现对已打开页面的背景参数进行调整。
示例性的,假设背景主题切换函数包括修改背景色的函数,新主题是将背景色切换为灰色,则本实施例在检测到主题切换事件后,先从已记录的各已打开页面的所有主题切换函数标识中,找到各页面中修改背景色的背景主题切换函数标识,然后调用各标识对应的修改背景色的背景主题切换函数代码,并将新主题中的背景色切换为灰色作为输入参数,运行该背景主题切换函数代码,实现将背景色对应的参数值修改为灰色。
S203,当检测到元素触发事件时,基于元素的元素主题切换函数标识和新主题,调用元素的元素主题切换函数,修改已打开页面中元素的元素参数。
其中,元素触发事件为需要对应用程序页面上的元素执行主题切换的触发事件。其可以是在检测到预先记录的逻辑操作时,说明检测到该逻辑操作对应元素的元素触发事件。可选的,应用程序内部可以预先记录逻辑操作与其对应的元素触发事件的关联关系。需要说明的是,对于应用程序运行过程中的逻辑操作,并不是所有的逻辑操作都有对应的元素触发事件,具体哪些逻辑操作有对应的元素触发事件可以是应用程序研发人员在设计应用程序时根据需求预先设置的。
可选的,由于元素主题切换函数是在检测到主题切换事件,又检测到元素触发事件后,才调用执行的与元素触发事件对应的逻辑操作关联的元素参数修改操作的函数。所以当本步骤在检测到元素触发事件后,遍历记录的已打开页面的所有主题切换函数标识,从中查找出元素触发事件对应元素的元素主题切换函数标识,然后基于该元素主题切换函数标识,调用其对应的元素主题切换函数的程序代码,将新主题作为输入参数运行该元素主题切换函数的程序代码,从而实现对已打开页面的元素参数进行调整。可选的,针对各种元素触发事件,其对应元素的元素主题切换函数标识也可以是应用程序研发人员在设计应用程序时根据需求预先设置的。
示例性的,假设随着应用程序页面中元素详情信息的展开和收起,页面中的元素图标颜色和形状根据主题进行切换,新主题是当元素详情信息展开时,元素图标颜色变为灰色,图标形状变为圆角矩形。则本实施例在检测到主题切换事件后,又检测到页面中元素1详细信息展开的逻辑操作,此时可以从已记录的各已打开页面的所有主题切换函数标识中,找到元素1详细信息对应元素1的元素主题切换函数(即修改该元素1的图标颜色和图标形状的函数)标识,然后调用各标识对应的修改该元素1的图标颜色和图标形状的函数代码,并将新主题中的元素图标颜色切换为灰色,图标形状变切换为圆角矩形作为输入参数,运行修改该元素1的图标颜色和图标形状的函数代码,实现将元素图标颜色对应的参数值修改为灰色,将图标形状对应的参数值修改为圆角矩形。
S204,依据修改的背景参数和/或元素参数,对已打开页面进行渲染,以实现对已打开页面的主题切换。
可选的,若在检测到主题切换事件后,没有检测到元素触发事件,则本步骤可以是先依据S202修改的已打开页面的背景参数,对已打开页面进行渲染;在检测到元素触发事件后,再根据S203修改的已打开页面中元素的元素参数对已打开页面再次进行渲染。示例性的,图2B中的第一个页面示意图为没有进行主题切换操作前页面1的展示效果示意图。若根据S202修改的灰色背景参数,对已打开页面进行渲染,将页面1的背景色从白色切换为灰色,得到的渲染效果如图2B中的第二个页面示意图所示;在进行本次渲染后,若检测到元素触发事件,则根据S203修改的灰色元素图标颜色和圆角矩形图标形状,在上述渲染效果的基础上,再次对已打开页面进行渲染,将页面1的元素1的图标形状从矩形切换为圆角矩形,将图标颜色从白色切换为灰色,得到的渲染效果如图2B中的第三个页面示意图所示。
若在检测到主题切换事件后紧接着又检测到元素触发事件,则本实施例可以同时执行S202和S203的操作,并同时依据S202修改的已打开页面的背景参数和S203修改的已打开页面中元素的元素参数,对已打开页面进行渲染。示例性的,若检测到主题切换事件后紧接着又检测到元素触发事件,则本实施例可以同时执行背景参数和元素参数的修改,即将背景色对应的参数值修改为灰色;将元素图标颜色对应的参数值修改为灰色,将图标形状对应的参数值修改为圆角矩形。然后执行根据修改的背景参数和元素参数,对已打开页面进行渲染,即将页面1的背景色从白色切换为灰色,将页面1的元素1的图标形状从矩形切换为圆角矩形,将图标颜色从白色切换为灰色,此时可直接从图2B中的第一个页面切换为第三个页面的效果。
需要说明的是,若新主题只是切换应用程序的背景参数,则本公开实施例中的主题切换函数标识仅为背景主题切换函数标识,此时本公开实施例可以是执行上述步骤中的S201、S203和S204的操作,完成应用程序主题切换操作。若新主题只是切换应用程序的元素参数,则本公开实施例中的主题切换函数标识仅为元素主题切换函数标识,此时本公开实施例可以是执行上述步骤中的S201、S202和S204的操作,完成应用程序主题切换操作。
本公开实施例提供了一种应用程序的主题切换方法,在检测到主体切换事件时,确定待切换的新主题,对于已打开页面的背景主题切换函数标识,直接根据新主题调用背景主题切换函数,对已打开页面的背景参数进行修改;对已打开页面的元素主题切换函数标识,在检测到元素触发事件后,再根据新主题调用元素主题切换函数对已打开页面的元素参数进行修改,并对修改的背景参数和/或元素参数进行渲染,完成对已打开页面的主题切换。本公开实施例的方案在对主题参数修改时,不但可以对与逻辑操作无关的背景参数进行修改,还可以对与逻辑操作相关的元素参数进行修改,实现了元素主题切换函数在页面原有位置处,也可以对页面中所有待修改的主题参数进行修改以及渲染操作,在降低主题切换操作复杂度的前提下,更为灵活的实现对页面主题的切换。
图3A示出了本公开实施例提供的另一种应用程序的主题切换方法的流程图,图3B示出了本公开实施例提供的应用程序内部模块构成示意图,图3C示出了本公开实施例提供的在存储队列中挂接主题切换函数标识的原理示意图。本实施例在上述实施例提供的各个可选方案的基础上进行了优化,具体的,本实施例对如何记录已打开页面的主题切换函数标识的具体过程进行一种可实施方式的详细介绍。
可选的,本实施例的应用程序的主题切换方法可以由应用程序内部的多个软件程序之间相互交互完成。其中,如图3B所示,本实施例的应用程序内部构成可以包括:函数标识记录模块,函数标识检查模块、主题切换模块以及记录函数标识的函数标识存储队列。其中,函数标识记录模块用于执行如下S301当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识的操作;函数标识检查模块用于执行如下S302当检测到页面关闭事件时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识的操作,保证已记录的主题切换函数标识的有效性;主题切换模块用于执行如下S303-S305检测到主题切换事件时,对应用程序进行主题切换的操作。函数标识存储队列可以挂接进行主题切换所需的主题切换函数的标识,从而实现在各页面中原有主题切换函数位置不变的前提下,通过函数标识存储队列中挂接的主题切换函数标识,对各页面中原有主题切换函数进行调用,提高了应用程序主题切换的扩展性和灵活性。例如,对于原不支持主题切换的应用程序,为其增加主题切换功能时,无需重新将应用程序各页面中的主题切换函数写入执行主体切换操作的程序代码段中,只需预设页面与主题切换函数的关联关系,在应用程序内增加图3B所示的相关模块和队列即可,降低了改动成本。
具体的,如图3A-3C所述,本实施例中的方法可以包括如下步骤:
S301,当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识。
其中,页面打开事件可以是指打开应用程序页面的事件,其可以是用户触发打开的新页面,也可以是系统在运行过程中有需求时自动打开的页面。例如,若用户在登录应用程序后,系统可能并不是直接显示应用程序的主页面,而是先自动打开广告页面播放一段广告后,再进入主页面,此时自动打开的广告页面也属于页面打开事件。
可选的,在本步骤中,检查页面打开事件时,可以是在应用程序启动后,就启动应用程序内的函数标识记录模块检测是否有页面打开。具体的检测过程可以是主动监听检测,例如,函数标识记录模块主动监听应用程序的主进程是否打开了一个新的页面;也可以是被动接收通知消息检测,例如,当应用程序的主进程运行过程中需要打开一个新页面时,就会向函数标识记录模块发送页面打开的通知消息。对此本公开实施例不进行限定。
可选的,函数标识记录模块检测到了有页面打开,说明应用程序的主进程在电子设备的显示屏上加载了一个新页面供用户浏览,此时函数标识记录模块可以与新打开的页面进行交互,获取该页面的主题切换函数标识,或者是查找本地存储的页面与主题切换标识的关联关系,获取该页面的主题切换函数标识。然后将获取的主题切换函数标识记录在预设存储空间(该预设存储空间可以是队列或栈等形式)。示例性的,本实施例可以是将主题切换函数挂接到函数标识存储队列中。如图3C所示,若应用程序新打开页面(即图3C中左边显示的页面2)中包含的主题切换函数为:主题切换函数1到主题切换函数N,则函数标识记录模块在检测到页面2打开时,获取页面2的主题切换函数1到主题切换函数N的函数标识,挂接在应用程序的函数标识存储队列中。
可选的,应用程序的预设存储空间中可能存储的是多个已打开页面的主题切换函数的标识,所以为了辨别主题切换函数标识与已打开页面的对应关系,本步骤在记录主题切换函数标识时,同时还可以记录各主题切换函数标识与其对应的应用程序页面的关联关系。具体的,应用程序的预设存储空间可以为每一个已开打页面都分配对应的存储位置,当监测到页面打开事件时,获取打开页面的主题切换函数标识,然后将该打开页面的主题切换函数标识记录在预设存储空间中该打开页面对应的存储位置处。示例性的,如图3C所示,函数标识存储队列中之前已记录了页面1的主题切换函数标识,当检测到页面2的打开事件后,再为页面2分配对应的存储位置,在该存储位置处记录页面2的主题切换函数标识1-主题切换函数标识N。
需要说明的是,本实施例中的页面打开事件对应的打开页面可以是常规的链接页面,还可以是在链接页面上创建的动态形式的页面,例如,可以是链接页面上创建的弹窗页面。由于创建的动态形式的页面也需要进行应用程序主题的设置,所以该动态形式的页面也对应有主题切换函数标识。因此,本步骤除了可以在检测到常规的链接页面打开时,获取并记录打开的常规链接页面的主题切换函数标识;还可以在检测到链接页面上创建动态形式的页面时,执行获取并记录创建的动态形式的页面的主题切换函数标识。
S302,当检测到页面关闭事件时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识。
其中,页面关闭事件可以是指关闭已打开页面的事件。其可以是已打开的页面被设置为后台运行时长超过预设时长(如5分钟),则产生该页面的关闭事件;也是用户点击页面关闭按键或语音控制关闭时,产生该页面的关闭事件。
可选的,函数标识检查模块检测到页面关闭事件的方式可以是通过定时器检测到页面后台运行超过预设时间,则检测到所述页面的页面关闭事件;还可以是检测到用户在页面上的关闭触发操作,则检测到所述页面的页面关闭事件。在函数标识检查模块检测到页面关闭事件后,依次遍历预设存储空间(函数标识存储队列)中已记录的所有已打开页面的主题切换函数标识,然后将页面关闭事件对应的关闭页面的主题切换函数标识进行释放,同时释放主题切换函数标识与页面之间的关联关系,具体的,可以是在预设存储空间中释放关闭页面对应的存储位置。示例性的,如图3C所示,若页面关闭事件关闭的是页面2,则函数标识检查模块可以是遍历函数标识存储队列中记录的所有已打开页面的主题切换函数标识,找到页面2的主题切换函数标识1-主题切换函数标识N,将其从函数标识存储队列中删除,释放函数标识存储队列的存储空间。
可选的,为了防止漏检测页面关闭事件,本实施例还可以是每隔预设时长(如10分钟),执行依次遍历记录的主题切换函数标识,并从中删除已经关闭页面的主题切换函数标识。
可选的,本实施例采用函数标识检查模块对已记录的主题切换函数标识进行有效性检查,且本步骤的执行过程与记录主题切换函数标识以及对页面进行主题切换的操作是异步进行的,不影响应用程序的主题切换过程。
S303,当检测到主题切换事件时,确定待切换的新主题。
S304,依据记录的已打开页面的主题切换函数标识和新主题,修改已打开页面的主题参数。
可选的,当主题切换模块在检测到主题切换事件时,可以遍历函数标识存储队列,获取应用程序当前所有已打开页面的主题切换函数标识,然后通过主题切换函数标识调用各主题切换函数,结合新主题要求的主题参数,对已打开页面的主题参数进行修改。
S305,依据修改的主题参数,对已打开页面进行渲染,以实现对已打开页面的主题切换。
需要说明的是,本实施例中只要应用程序新打开一个页面,本步骤的函数标识记录模块就会执行S301获取并记录本次打开页面的主题切换函数标识的操作。只要应用程序关闭一个页面,本步骤的函数标识检查模块就会执行S302,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识的操作。即本步骤的S301和S302的操作并不限于仅能在S303-S305,对应用程序进行主题切换操作之前执行,也可以是在执行主题切换操作的同时,或者之后执行。其具体的执行位置取决于何时检测到应用程序的页面打开事件和页面关闭事件。
本公开实施例提供了一种应用程序的主题切换方法,在检测到页面打开事件时,获取并记录打开页面的主题切换函数标识,在检测到页面关闭事件时,删除已记录的关闭页面的主题切换函数,在检测到主体切换事件时,确定待切换的新主题,依据该新主题和记录的已打开页面的主题切换函数标识,修改各已打开页面的主题参数,并对修改的主题参数进行渲染,完成对已打开页面的主题切换。本公开实施例的方案在进行主题切换时无需重新加载各应用程序页面,简化了主题切换的操作,且在各页面中原有主题切换函数位置不变的前提下,通过记录主题切换函数标识,对各页面中原有主题切换函数进行调用,提高了应用程序主题切换的可扩展性和灵活性,降低了修改主题切换功能的成本。
图4示出了本公开实施例提供的一种应用程序的主题切换装置的结构示意图,本公开实施例可适用于在检测到主题切换事件后,对应用程序的已打开页面进行主题切换的情况。该装置可以通过软件和/或硬件来实现,并集成在执行本方法的电子设备中,如图4所示,该装置可以包括:
新主题确定模块401,用于当检测到主题切换事件时,确定待切换的新主题;
主题参数修改模块402,用于依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
页面渲染模块403,用于依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
本公开实施例提供了一种应用程序的主题切换装置,在检测到主体切换事件时,确定待切换的新主题,依据该新主题和记录的已打开页面的主题切换函数标识,修改各已打开页面的主题参数,并对修改的主题参数进行渲染,完成对已打开页面的主题切换。本实施例的方案,不仅适用于用户手动触发的主题切换事件,还可以适用于系统实时根据当前场景确定的主题切换事件。由于本实施例在对应用程序主题进行切换时,无需依次执行添加页面元素、设置页面参数和页面之间的逻辑性、以及对所有的页面参数进行渲染等一系列的重新加载操作,只需对已打开页面的部分主题参数进行修改和渲染,简化了主题切换的操作,避免了切换主题造成的卡顿现象,极大的降低了主题切换操作的复杂度,此外,本实施例的方案不用考虑多个页面之间的逻辑性,无论已打开页面数量的多少,都可以实时进行页面主题的切换操作。
进一步的,所述主题切换函数标识包括:背景主题切换函数标识和/或元素主题切换函数标识。
进一步的,所述主题参数修改模块402具体用于:
基于已打开页面的背景主题切换函数标识和所述新主题,调用背景主题切换函数修改所述已打开页面的背景参数;和/或,
当检测到元素触发事件时,基于所述元素的元素主题切换函数标识和所述新主题,调用所述元素的元素主题切换函数,修改所述已打开页面中所述元素的元素参数。
进一步的,所述主题参数修改模块402还具体用于:
依据所述新主题,从记录的所述已打开页面的主题切换函数标识中确定目标主题切换函数标识;
依据所述目标主题切换函数标识和所述新主题,修改所述已打开页面的主题参数。
进一步的,检测到主题切换事件包括:
检测到当前场景满足主题切换要求,或检测到用户触发的主题切换操作。
进一步的,所述装置还包括:
函数标识记录模块,用于当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识。
进一步的,所述函数标识记录模块具体用于:
获取打开页面的主题切换函数标识,并将所述主题切换函数标识记录在预设存储空间中所述打开页面对应的存储位置处;所述预设存储空间为应用程序中用于记录已打开页面的主题切换函数标识的存储空间。
进一步的,所述装置还包括:
函数标识删除模块,用于当检测到页面关闭事件和/或达到预设时长时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识。
进一步的,所述函数标识删除模块具体用于:
遍历预设存储空间中记录的主题切换函数标识,从中删除关闭页面的主题切换函数标识,并在所述预设存储空间中释放所述关闭页面对应的存储位置。
本公开实施例提供的应用程序的主题切换装置,与上述各实施例提供的应用程序的主题切换方法属于同一发明构思,未在本公开实施例中详尽描述的技术细节可参见上述各实施例,并且本公开实施例与上述各实施例具有相同的有益效果。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备500的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端。图5示出的电子设备500仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备500可以包括处理装置(例如中央处理器、图形处理器等)501,其可以根据存储在只读存储器(ROM)502中的程序或者从存储装置508加载到随机访问存储器(RAM)503中的程序而执行各种适当的动作和处理。在RAM 503中,还存储有电子设备500操作所需的各种程序和数据。处理装置501、ROM 502以及RAM 503通过总线504彼此相连。输入/输出(I/O)接口505也连接至总线504。
通常,以下装置可以连接至I/O接口505:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置506;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置507;包括例如磁带、硬盘等的存储装置508;以及通信装置509。通信装置509可以允许电子设备500与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有各种装置的电子设备500,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在非暂态计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置509从网络上被下载和安装,或者从存储装置508被安装,或者从ROM 502被安装。在该计算机程序被处理装置501执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(HyperText TransferProtocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备安装的应用程序:当检测到主题切换事件时,确定待切换的新主题;依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
根据本公开的一个或多个实施例提供的一种应用程序的主题切换方法,该方法包括:
当检测到主题切换事件时,确定待切换的新主题;
依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
根据本公开的一个或多个实施例,上述方法中所述主题切换函数标识包括:背景主题切换函数标识和/或元素主题切换函数标识。
根据本公开的一个或多个实施例,上述方法中依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数,包括:
基于已打开页面的背景主题切换函数标识和所述新主题,调用背景主题切换函数修改所述已打开页面的背景参数;和/或,
当检测到元素触发事件时,基于所述元素的元素主题切换函数标识和所述新主题,调用所述元素的元素主题切换函数,修改所述已打开页面中所述元素的元素参数。
根据本公开的一个或多个实施例,上述方法中依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数,包括:
依据所述新主题,从记录的所述已打开页面的主题切换函数标识中确定目标主题切换函数标识;
依据所述目标主题切换函数标识和所述新主题,修改所述已打开页面的主题参数。
根据本公开的一个或多个实施例,上述方法中检测到主题切换事件包括:检测到当前场景满足主题切换要求,或检测到用户触发的主题切换操作。
根据本公开的一个或多个实施例,上述方法还包括:
当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识。
根据本公开的一个或多个实施例,上述方法中获取并记录打开页面的主题切换函数标识,包括:
获取打开页面的主题切换函数标识,并将所述主题切换函数标识记录在预设存储空间中所述打开页面对应的存储位置处;所述预设存储空间为应用程序中用于记录已打开页面的主题切换函数标识的存储空间。
根据本公开的一个或多个实施例,上述方法还包括:
当检测到页面关闭事件和/或达到预设时长时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识。
根据本公开的一个或多个实施例,上述方法中遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识,包括:
遍历预设存储空间中记录的主题切换函数标识,从中删除关闭页面的主题切换函数标识,并在所述预设存储空间中释放所述关闭页面对应的存储位置。
根据本公开的一个或多个实施例提供的一种应用程序的主题切换装置,该装置包括:
新主题确定模块,用于当检测到主题切换事件时,确定待切换的新主题;
主题参数修改模块,用于依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
页面渲染模块,用于依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
根据本公开的一个或多个实施例,上述装置中的所述主题切换函数标识包括:背景主题切换函数标识和/或元素主题切换函数标识。
根据本公开的一个或多个实施例,上述装置中的所述主题参数修改模块具体用于:
基于已打开页面的背景主题切换函数标识和所述新主题,调用背景主题切换函数修改所述已打开页面的背景参数;和/或,
当检测到元素触发事件时,基于所述元素的元素主题切换函数标识和所述新主题,调用所述元素的元素主题切换函数,修改所述已打开页面中所述元素的元素参数。
根据本公开的一个或多个实施例,上述装置中的所述主题参数修改模块还具体用于:
依据所述新主题,从记录的所述已打开页面的主题切换函数标识中确定目标主题切换函数标识;
依据所述目标主题切换函数标识和所述新主题,修改所述已打开页面的主题参数。
根据本公开的一个或多个实施例,上述装置中的检测到主题切换事件包括:
检测到当前场景满足主题切换要求,或检测到用户触发的主题切换操作。
根据本公开的一个或多个实施例,上述装置还包括:
函数标识记录模块,用于当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识。
根据本公开的一个或多个实施例,上述装置中的所述函数标识记录模块具体用于:
获取打开页面的主题切换函数标识,并将所述主题切换函数标识记录在预设存储空间中所述打开页面对应的存储位置处;所述预设存储空间为应用程序中用于记录已打开页面的主题切换函数标识的存储空间。
根据本公开的一个或多个实施例,上述装置还包括:
函数标识删除模块,用于当检测到页面关闭事件和/或达到预设时长时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识。
根据本公开的一个或多个实施例,上述装置中的所述函数标识删除模块具体用于:
遍历预设存储空间中记录的主题切换函数标识,从中删除关闭页面的主题切换函数标识,并在所述预设存储空间中释放所述关闭页面对应的存储位置。
根据本公开的一个或多个实施例提供的一种电子设备,该电子设备包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如本公开任意实施例所述的应用程序的主题切换方法。
根据本公开的一个或多个实施例提供的一种可读介质,其上存储有计算机程序,该程序被处理器执行时实现如本公开任意实施例所述的应用程序的主题切换方法。
以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的公开范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述公开构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
此外,虽然采用特定次序描绘了各操作,但是这不应当理解为要求这些操作以所示出的特定次序或以顺序次序执行来执行。在一定环境下,多任务和并行处理可能是有利的。同样地,虽然在上面论述中包含了若干具体实现细节,但是这些不应当被解释为对本公开的范围的限制。在单独的实施例的上下文中描述的某些特征还可以组合地实现在单个实施例中。相反地,在单个实施例的上下文中描述的各种特征也可以单独地或以任何合适的子组合的方式实现在多个实施例中。
尽管已经采用特定于结构特征和/或方法逻辑动作的语言描述了本主题,但是应当理解所附权利要求书中所限定的主题未必局限于上面描述的特定特征或动作。相反,上面所描述的特定特征和动作仅仅是实现权利要求书的示例形式。
Claims (12)
1.一种应用程序的主题切换方法,其特征在于,包括:
当检测到主题切换事件时,确定待切换的新主题;
依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
2.根据权利要求1所述的方法,其特征在于,所述主题切换函数标识包括:背景主题切换函数标识和/或元素主题切换函数标识。
3.根据权利要求2所述的方法,其特征在于,依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数,包括:
基于已打开页面的背景主题切换函数标识和所述新主题,调用背景主题切换函数修改所述已打开页面的背景参数;和/或,
当检测到元素触发事件时,基于所述元素的元素主题切换函数标识和所述新主题,调用所述元素的元素主题切换函数,修改所述已打开页面中所述元素的元素参数。
4.根据权利要求1所述的方法,其特征在于,依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数,包括:
依据所述新主题,从记录的所述已打开页面的主题切换函数标识中确定目标主题切换函数标识;
依据所述目标主题切换函数标识和所述新主题,修改所述已打开页面的主题参数。
5.根据权利要求1所述的方法,其特征在于,检测到主题切换事件包括:
检测到当前场景满足主题切换要求,或检测到用户触发的主题切换操作。
6.根据权利要求1所述的方法,其特征在于,还包括:
当检测到页面打开事件时,获取并记录打开页面的主题切换函数标识。
7.根据权利要求6所述的方法,其特征在于,获取并记录打开页面的主题切换函数标识,包括:
获取打开页面的主题切换函数标识,并将所述主题切换函数标识记录在预设存储空间中所述打开页面对应的存储位置处;所述预设存储空间为应用程序中用于记录已打开页面的主题切换函数标识的存储空间。
8.根据权利要求1所述的方法,其特征在于,还包括:
当检测到页面关闭事件和/或达到预设时长时,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识。
9.根据权利要求8所述的方法,其特征在于,遍历记录的主题切换函数标识,并从中删除关闭页面的主题切换函数标识,包括:
遍历预设存储空间中记录的主题切换函数标识,从中删除关闭页面的主题切换函数标识,并在所述预设存储空间中释放所述关闭页面对应的存储位置。
10.一种应用程序的主题切换装置,其特征在于,包括:
新主题确定模块,用于当检测到主题切换事件时,确定待切换的新主题;
主题参数修改模块,用于依据记录的已打开页面的主题切换函数标识和所述新主题,修改所述已打开页面的主题参数;
页面渲染模块,用于依据修改的主题参数,对所述已打开页面进行渲染,以实现对所述已打开页面的主题切换。
11.一种电子设备,其特征在于,包括:
一个或多个处理器;
存储器,用于存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-9中任一所述的应用程序的主题切换方法。
12.一种可读介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-9中任一所述的应用程序的主题切换方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910778247.9A CN110471738B (zh) | 2019-08-22 | 2019-08-22 | 应用程序的主题切换方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910778247.9A CN110471738B (zh) | 2019-08-22 | 2019-08-22 | 应用程序的主题切换方法、装置、电子设备及存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN110471738A true CN110471738A (zh) | 2019-11-19 |
CN110471738B CN110471738B (zh) | 2023-01-10 |
Family
ID=68513285
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910778247.9A Active CN110471738B (zh) | 2019-08-22 | 2019-08-22 | 应用程序的主题切换方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN110471738B (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111026463A (zh) * | 2019-12-20 | 2020-04-17 | 深圳乐信软件技术有限公司 | 一种页面加载方法、装置、设备和存储介质 |
CN111090364A (zh) * | 2019-12-11 | 2020-05-01 | 文思海辉智科科技有限公司 | 页面风格切换方法、装置、电子设备及可读存储介质 |
CN111104117A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 页面主题风格切换方法、装置、电子设备及计算机存储介质 |
CN111221515A (zh) * | 2020-01-15 | 2020-06-02 | 南京鼎震信息技术有限公司 | 一种修改web前端主题的方法 |
CN111240792A (zh) * | 2020-02-10 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 用户界面的主题切换方法、装置、终端及存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019781A (zh) * | 2012-12-04 | 2013-04-03 | 广东欧珀移动通信有限公司 | 一种基于Android系统的快速换肤方法 |
CN106502705A (zh) * | 2016-11-04 | 2017-03-15 | 乐视控股(北京)有限公司 | 设置应用程序主题的方法及其装置 |
CN106569885A (zh) * | 2016-10-13 | 2017-04-19 | 乐视控股(北京)有限公司 | 应用主题切换方法及装置 |
CN106802794A (zh) * | 2016-12-20 | 2017-06-06 | 智车优行科技(北京)有限公司 | 主题切换方法、装置、车辆及系统 |
CN107357611A (zh) * | 2017-06-27 | 2017-11-17 | 上海传英信息技术有限公司 | 用户界面的主题更新方法及装置 |
WO2018040505A1 (zh) * | 2016-09-05 | 2018-03-08 | 中兴通讯股份有限公司 | 一种配置显示方法及终端 |
WO2018176207A1 (zh) * | 2017-03-28 | 2018-10-04 | 深圳中兴力维技术有限公司 | Web主题切换方法及系统 |
US20180351816A1 (en) * | 2017-06-02 | 2018-12-06 | Yan Li | Methods and apparatus for parameter tuning using a cloud service |
-
2019
- 2019-08-22 CN CN201910778247.9A patent/CN110471738B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103019781A (zh) * | 2012-12-04 | 2013-04-03 | 广东欧珀移动通信有限公司 | 一种基于Android系统的快速换肤方法 |
WO2018040505A1 (zh) * | 2016-09-05 | 2018-03-08 | 中兴通讯股份有限公司 | 一种配置显示方法及终端 |
CN106569885A (zh) * | 2016-10-13 | 2017-04-19 | 乐视控股(北京)有限公司 | 应用主题切换方法及装置 |
CN106502705A (zh) * | 2016-11-04 | 2017-03-15 | 乐视控股(北京)有限公司 | 设置应用程序主题的方法及其装置 |
CN106802794A (zh) * | 2016-12-20 | 2017-06-06 | 智车优行科技(北京)有限公司 | 主题切换方法、装置、车辆及系统 |
WO2018176207A1 (zh) * | 2017-03-28 | 2018-10-04 | 深圳中兴力维技术有限公司 | Web主题切换方法及系统 |
US20180351816A1 (en) * | 2017-06-02 | 2018-12-06 | Yan Li | Methods and apparatus for parameter tuning using a cloud service |
CN107357611A (zh) * | 2017-06-27 | 2017-11-17 | 上海传英信息技术有限公司 | 用户界面的主题更新方法及装置 |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111090364A (zh) * | 2019-12-11 | 2020-05-01 | 文思海辉智科科技有限公司 | 页面风格切换方法、装置、电子设备及可读存储介质 |
CN111104117A (zh) * | 2019-12-17 | 2020-05-05 | 深圳前海环融联易信息科技服务有限公司 | 页面主题风格切换方法、装置、电子设备及计算机存储介质 |
CN111026463A (zh) * | 2019-12-20 | 2020-04-17 | 深圳乐信软件技术有限公司 | 一种页面加载方法、装置、设备和存储介质 |
CN111026463B (zh) * | 2019-12-20 | 2023-12-26 | 深圳乐信软件技术有限公司 | 一种页面加载方法、装置、设备和存储介质 |
CN111221515A (zh) * | 2020-01-15 | 2020-06-02 | 南京鼎震信息技术有限公司 | 一种修改web前端主题的方法 |
CN111240792A (zh) * | 2020-02-10 | 2020-06-05 | 腾讯科技(深圳)有限公司 | 用户界面的主题切换方法、装置、终端及存储介质 |
CN111240792B (zh) * | 2020-02-10 | 2021-05-14 | 腾讯科技(深圳)有限公司 | 用户界面的主题切换方法、装置、终端及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN110471738B (zh) | 2023-01-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471738A (zh) | 应用程序的主题切换方法、装置、电子设备及存储介质 | |
CN112698769B (zh) | 信息交互方法、装置、设备、存储介质及程序产品 | |
CN106612372A (zh) | 消息提供方法和装置以及显示控制方法和装置 | |
CN106462713B (zh) | 终端的界面显示方法和终端 | |
CN108702413A (zh) | 一种验证码的输入方法及装置 | |
CN103811005A (zh) | 移动终端及其控制方法 | |
CN108549568A (zh) | 应用入口处理方法、装置、存储介质及电子设备 | |
CN109074303A (zh) | 一种卡顿检测方法及装置 | |
CN109684589A (zh) | 客户端的评论数据的处理方法、装置及计算机存储介质 | |
CN110147186A (zh) | 一种应用的控制方法及终端设备 | |
CN108197105B (zh) | 自然语言处理方法、装置、存储介质及电子设备 | |
CN109117153A (zh) | 应用程序的处理方法、装置、终端和存储介质 | |
CN110275736A (zh) | 获取应用程序的运行数据方法、装置、设备及可读介质 | |
CN110413367A (zh) | 任务创建方法、装置、存储介质及电子设备 | |
CN110414450A (zh) | 关键词检测方法、装置、存储介质及电子设备 | |
CN105897700A (zh) | 信息处理方法、终端及服务器 | |
CN116939616A (zh) | 应用于电信防诈的设备控制方法、装置和电子设备 | |
JP7500776B2 (ja) | ビデオ特殊効果の配置方法、ビデオ特殊効果の配置装置、デバイス及び記憶媒体 | |
CN109491687A (zh) | 一种应用软件的热更新方法、装置、终端及可读介质 | |
CN108900696A (zh) | 一种数据处理方法、终端和计算机可读存储介质 | |
CN110489341A (zh) | 一种测试方法、装置、存储介质及电子设备 | |
CN110377362A (zh) | 清理应用程序的方法、装置、终端及存储介质 | |
CN109885707A (zh) | 图库中图片的刷新方法、装置、终端设备和存储介质 | |
CN110568976A (zh) | 控制应用显示的方法、装置、设备、存储介质 | |
CN110096874A (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 |