掌桥专利:专业的专利平台
掌桥专利
首页

窗口动效处理方法、装置及电子设备

文献发布时间:2024-04-18 20:00:50


窗口动效处理方法、装置及电子设备

技术领域

本公开涉及智能终端技术领域,尤其涉及一种窗口动效处理方法、装置及电子设备。

背景技术

安卓13版本的动效由系统主进程统一处理,使得系统负担较大,并且复杂性较高。为减轻系统负担,相关技术将动效部分从系统主进程中分离出来,由System UI进程下的Wmshell模块完成。系统主进程通过创建Transition对象搜集当前窗口的状态并发送到System UI进程以执行动态效果。该功能于安卓14版本首次被设置为默认开启的功能。

然而,由于目前的框架仅采集当前窗口的状态,而动效结束时的窗口状态是确定的,因此该功能目前仅支持特定的动效处理,例如横屏和竖屏之间的转换动效,功能较为单一。为了支持不同终止状态的窗口动效,System UI进程在收到当前窗口的状态后,必须主动确定动效结束时的窗口终止状态。然而,System UI进程主要用于动效处理,并不掌握更多的信息,因此不得不与系统主进程之间进行多次跨进程的沟通,确定窗口终止状态,才能够执行动效处理,这种方式无疑是低效的。

发明内容

为解决相关技术中的问题,本公开实施例提供了一种窗口动效处理方法、装置及电子设备。

本公开实施例的一个方面提供了一种窗口动效处理方法,包括响应于动效触发指令,采集窗口初始状态,基于窗口初始状态和动效触发指令,确定窗口终止状态,以及将窗口初始状态和窗口终止状态传递至动效处理进程,以展示窗口动效。

根据本公开实施例,所述基于所述窗口初始状态和所述动效触发指令,确定窗口终止状态包括,基于所述窗口初始状态和所述动效触发指令,确定动效结束状态时窗口的位置特征和尺寸特征,基于动效结束状态时窗口的位置特征和尺寸特征,确定动效结束状态时窗口的位置和尺寸,以表示窗口终止状态。

根据本公开实施例,窗口动效处理方法还包括,在全屏模式下检测用于退出全屏模式的第一手势,若第一手势的结束位置位于小窗触发区域,则生成用于进入小窗模式的动效触发指令。

根据本公开实施例,小窗触发区域包括多个子区域,不同子区域分别对应不同的窗口终止状态,基于窗口初始状态和动效触发指令,确定窗口终止状态包括,确定第一手势的结束位置所在的子区域,确定与第一手势的结束位置所在的子区域对应的窗口终止状态。

根据本公开实施例,窗口动效处理方法还包括,在小窗模式下,若在窗口区域内检测到第二手势,则生成用于进入全屏模式的动效触发指令。

根据本公开实施例,窗口动效处理方法还包括,在小窗模式下,若在窗口区域内检测到第三手势,则生成用于进入大窗模式的动效触发指令。其中,处于小窗模式的窗口尺寸固定,处于大窗模式的窗口尺寸可变,大窗模式的默认尺寸与小窗模式的固定尺寸不同。

根据本公开实施例,窗口动效处理方法还包括,在大窗模式下显示用于调整窗口尺寸的控件,检测拖动控件的第四手势,若第四手势的结束位置位于全屏触发区域,则生成用于进入全屏模式的动效触发指令。

本公开实施例的另一个方面提供了一种窗口动效处理装置,包括初始状态获取模块、终止状态获取模块以及窗口动效展示模块。初始状态获取模块被配置为响应于动效触发指令,采集窗口初始状态。终止状态获取模块被配置为基于窗口初始状态和动效触发指令,确定窗口终止状态。窗口动效展示模块被配置为将窗口初始状态和窗口终止状态传递至动效处理进程,以展示窗口动效。

本公开实施例的另一个方面提供了一种电子设备,包括至少一个处理器;以及,与至少一个处理器通信连接的存储器;其中,存储器存储有可被至少一个处理器执行的指令,指令被至少一个处理器执行,以使得处理器实现如上所述的方法。

本公开实施例的另一个方面提供了一种计算机可读存储介质,其上存储有计算机可读指令,该指令被处理器执行时使得处理器实现如上所述的方法。

本公开实施例的另一个方面提供了一种计算机程序,其被处理器执行时使得处理器实现如上所述的方法。

本公开实施例的另一个方面提供了一种计算机程序,其被处理器执行时使得处理器实现如上所述的方法。

根据本公开实施例的技术方案,通过将采集的窗口初始状态和所确定的窗口终止状态一并发送给动效处理进程,以支持多种动效,并且避免了动效处理进程在只收到一个状态的情况下,与系统主进程之间需进行多次跨进程沟通,影响动效处理效率的问题。

附图说明

结合附图,通过以下非限制性实施方式的详细描述,本公开的其它特征、目的和优点将变得更加明显。在附图中:

图1示意性示出本公开实施例的窗口动效处理方法的流程图;

图2示意性示出本公开实施例的生成动效触发指令的流程图;

图3-图6示意性示出本公开实施例的电子设备显示界面的示意图;

图7示意性示出本公开实施例的确定窗口终止状态的流程图;

图8-图10示意性示出本公开实施例的电子设备显示界面的示意图;

图11示意性示出本公开实施例的生成动效触发指令的流程图;

图12示意性示出本公开实施例的电子设备显示界面的示意图;

图13示意性示出本公开实施例的窗口动效处理装置的框图;

图14示意性示出适于实现本公开实施例的窗口动效处理方法和装置的计算机系统的结构示意图。

具体实施方式

下文中,将参考附图详细描述本公开的示例性实施例,以使本领域技术人员更容易地实现它们。此外,为了清楚起见,在附图中省略了与描述示例性实施例无关的部分。

在本公开中,应理解,诸如“包括”或“具有”等的术语旨在指示本说明书中所公开的特征、数字、步骤、行为、部件、部分或其组合的存在,并且不欲排除一个或多个其他特征、数字、步骤、行为、部件、部分或其组合存在或被添加的可能性。

另外还需要说明的是,在不冲突的情况下,本公开中的实施例及实施例中的特征可以相互组合。

本公开实施例提供了一种窗口动效处理方法,包括响应于动效触发指令,采集窗口初始状态;基于所述窗口初始状态和所述动效触发指令,确定窗口终止状态;以及将所述窗口初始状态和所述窗口终止状态传递至动效处理进程,以展示窗口动效。通过将采集的窗口初始状态和所确定的窗口终止状态一并发送给动效处理进程,可以实现如启动动效、转屏、分屏、PIP(画中画,picture in picture)、全屏小窗切换等各种动效,并且避免了动效处理进程在只收到一个状态的情况下,与系统主进程之间需进行多次跨进程沟通,影响动效处理效率的问题。以下结合附图,详细说明本公开各实施例提供的技术方案。

图1示意性示出本公开实施例的窗口动效处理方法的流程图。

如图1所示,该窗口动效处理方法包括操作S110-S130。该方法可以由电子设备执行,尤其是电子设备中独立于动效处理进程的其他进程执行,例如可以由电子设备的系统主进程执行。

在操作S110,响应于动效触发指令,采集窗口初始状态。

在操作S120,基于所述窗口初始状态和所述动效触发指令,确定窗口终止状态。

在操作S130,将所述窗口初始状态和所述窗口终止状态传递至动效处理进程,以展示窗口动效。

根据本公开实施例,动效触发指令通常可以基于用户的控制动作而产生。例如,用户可以通过在触控屏幕上做出单击、双击、划动、拖动等手势,电子设备根据手势产生动效触发指令。

根据本公开实施例,在获取到动效触发指令后,可以采集当前的窗口初始状态。窗口的状态可以包括窗口的位置和大小,例如,可以以窗口左上角顶点的位置坐标表示窗口的位置,可以以窗口的宽度和高度表示窗口的尺寸。在这种设定下,窗口初始状态即包括产生动效触发指令时刻窗口的左上角顶点的位置坐标以及窗口的宽度和高度。应当注意的是,窗口的状态并不限于以上的内容,还可以有其他的内容,例如方向、颜色等,以支持多种动效的实现。由于初始状态是已经存在的状态,系统主进程可以对当前窗口的状态进行记录和保存,得到窗口初始状态。

根据本公开实施例,窗口终止状态是指动效结束后窗口的状态。不同初始状态和/或不同的动效触发指令可以对应于不同的窗口终止状态。例如,电子设备可以具有包括小窗、大窗、全屏在内的至少三种窗口展示模式,其中,小窗模式的尺寸固定,大窗模式的尺寸可变,而全屏模式的窗口铺满整个屏幕。在小窗模式下,单击窗口区域可以切换为大窗模式,双击窗口区域可以切换为全屏模型,在大窗模式下,双击窗口区域可以定义为切换到小窗模式,或者切换到全屏模式。因此,窗口终止状态可以由初始状态单独决定,也可以由控制动作单独决定,或者也可以由初始状态和动效触发指令共同决定。

根据本公开实施例,在获得窗口初始状态和窗口终止状态后,可以将两者发送到动效处理进程,这样,动效处理进程只需要根据窗口初始状态和窗口终止状态生成并展示动画效果,无需关心窗口终止状态是如何确定的,省去了与系统主进程之间的沟通。

根据本公开实施例,基于窗口初始状态和动效触发指令,确定窗口终止状态包括,基于所述窗口初始状态和所述动效触发指令,确定动效结束状态时窗口的位置特征和尺寸特征,基于动效结束状态时窗口的位置特征和尺寸特征,确定动效结束状态时窗口的位置和尺寸,以表示窗口终止状态。

例如,若动效结束状态时窗口处于全屏模式,位置特征和尺寸特征可以是窗口铺满全屏,或者,位置特征可以是屏幕左上角的位置,尺寸特征可以是屏幕的尺寸。进而,可以读取屏幕左上角的坐标,例如(0,0),以及屏幕的尺寸,例如(1080,1920),可以通过该些坐标和尺寸表示窗口终止状态。又如,若动效结束状态时窗口处于小窗模式,位置特征可以是小窗位于屏幕右上角距离边缘预定像素的位置,尺寸特征可以是小窗模式下的窗口固定尺寸,进而,可以通过屏幕尺寸和小窗模式下的窗口固定尺寸确定以坐标表示的小窗在屏幕上的位置,结合该窗口固定尺寸,可以表示窗口终止状态。

根据本公开实施例,由于系统主进程掌握了屏幕的尺寸和动效结束时窗口的大小和位置,因此可以独立地计算窗口终止状态信息,无需跨进程沟通。

图2示意性示出本公开实施例的生成动效触发指令的流程图。

如图2所示,该窗口动效处理方法在前述实施例的基础上,还可以包括操作S210和S220。

在操作S210,在全屏模式下检测用于退出全屏模式的第一手势。

在操作S220,若所述第一手势的结束位置位于小窗触发区域,则生成用于进入小窗模式的动效触发指令。

如图3所示,某应用程序的窗口以全屏模式展示在屏幕上,退出全屏模式的第一手势例如可以是从屏幕下方向上划动的手势。当检测到第一手势后,可以展示如图4所示的界面,此时手势并未结束,例如手指尚未从屏幕离开,可以继续划动到屏幕上的任意位置然后离开屏幕,结束手势。

根据本公开实施例,屏幕上可以包括一个小窗触发区域,例如图4中虚线所示的方框区域。当第一手势的结束位置位于小窗触发区域以外时,可以展示如图5所示的后台界面,并列显示多个后台窗口供用户选择。当第一手势的结束位置位于小窗触发区域内时,可以生成用于进入小窗模式的动效触发指令,进入小窗模式,如图6所示。在图6所示的界面中,小窗被悬挂在屏幕右上角的区域,与小窗触发区域的位置不同,从第一手势结束到小窗被悬挂到屏幕右上角的区域之间是需要实现动效的过程。

根据本公开实施例,在第一手势结束之时,系统主进程可以立即完成如图1所示的操作S110-S130,将窗口初始状态和窗口终止状态发送给动效处理进程,以便动效处理进程可以根据窗口初始状态和窗口终止状态处理并展示相应的动效,使小窗停止于例如图6所示的位置。

图7示意性示出本公开实施例的确定窗口终止状态的流程图。

如图7所示,基于所述窗口初始状态和所述动效触发指令,确定窗口终止状可以包括操作S710和S720。

在操作S710,确定所述第一手势的结束位置所在的子区域。

在操作S720,确定与所述第一手势的结束位置所在的子区域对应的窗口终止状态。

根据本公开实施例,小窗触发区域可以包括多个子区域,不同子区域分别对应不同的窗口终止状态。例如,如图8所示,屏幕的左上、左下、右上和右下方可以各设置一个小窗触发区域,当第一手势的结束位置位于左上的小窗触发区域时,可以展示如图9所示的界面,小窗可以悬挂在与小窗触发区域相对应的屏幕的左上角。

根据本公开实施例,该窗口动效处理方法还可以包括,在小窗模式下,若在窗口区域内检测到第二手势,则生成用于进入全屏模式的动效触发指令。例如,第二手势可以是双击的手势,当检测到在小窗区域内发生的双击手势时,生成用于进入全屏模式的动效触发指令,使如图6或图9所示的界面通过一个动效过程,切换到如图3所示的界面。当检测到双击手势时,系统主进程立即采集当前小窗模式下的窗口初始状态,并计算全屏模式下的窗口终止状态,而后将窗口初始状态和窗口终止状态传递至动效处理进程,以展示窗口动效。

根据本公开实施例,除全屏模式和小窗模式外,还可以有其他模式,例如一种模式可以被称为大窗模式,如图10所示。其与小窗模式的区别在于,小窗模式的窗口尺寸固定,而大窗模式的窗口尺寸可变,用户可以通过一定的输入改变大窗模式下的窗口尺寸。大窗模式具有默认尺寸,即当窗口从其他模式切换到大窗模式时,窗口的尺寸。大窗模式的默认尺寸与小窗模式的固定尺寸不同,通常地,大窗模式的默认尺寸可以大于小窗模式的固定尺寸。

根据本公开实施例,该窗口动效处理方法还可以包括,在小窗模式下,若在所述窗口区域内检测到第三手势,则生成用于进入大窗模式的动效触发指令。例如,第三手势可以是单击的手势,当检测到在小窗区域内发生的单击手势时,生成用于进入大窗模式的动效触发指令,使如图6或图9所示的界面通过一个动效过程,切换到如图10所示的界面。当检测到单击手势时,系统主进程立即采集当前小窗模式下的窗口初始状态,并计算大窗模式下的窗口终止状态,而后将窗口初始状态和窗口终止状态传递至动效处理进程,以展示窗口动效。

根据本公开实施例,在大窗模式下,若在所述窗口区域内检测到第五手势,例如双击手势,则可以生成用于进入全屏模式的动效触发指令。该过程与从小窗模式到全屏模式的过程类似,请参照上文的描述,此处不再赘述。

图11示意性示出本公开实施例的生成动效触发指令的流程图。

如图11所示,该窗口动效处理方法在前述实施例的基础上,还可以包括操作S1110-S1130。

在操作S1110,在大窗模式下显示用于调整窗口尺寸的控件。

在操作S1120,检测拖动所述控件的第四手势。

在操作S1130,若所述第四手势的结束位置位于全屏触发区域,则生成用于进入全屏模式的动效触发指令。

根据本公开实施例,在大窗模式下,可以展示用于调整窗口尺寸的控件,例如,如图12所示的在窗口右侧的控制条。用户可以通过拖动改变控制条内的控制块的位置,从而改变窗口的尺寸。在控制条内设有全屏触发区域,当控制块被拖动至该全屏触发区域时,可生成用于进入全屏模式的动效触发指令。使如图6或图9所示的界面通过一个动效过程,切换到如图3所示的界面。在第四手势结束之时,系统主进程可以立即完成如图1所示的操作S110-S130,将窗口初始状态和窗口终止状态发送给动效处理进程,以便动效处理进程可以根据窗口初始状态和窗口终止状态处理并展示相应的动效。

基于同一发明构思,本公开还提供了一种窗口动效处理装置,下面参照图13对本公开实施例的窗口动效处理装置进行说明。

图13示意性示出本公开实施例的窗口动效处理装置1300的框图。其中,该装置1300可以通过软件、硬件或者两者的结合实现成为电子设备的部分或者全部。

如图13所示,该窗口动效处理装置1300包括初始状态获取模块1310、终止状态获取模块1320和窗口动效展示模块1330。该窗口动效处理装置1300可以执行上文描述的各种方法。

初始状态获取模块1310被配置为响应于动效触发指令,采集窗口初始状态。

终止状态获取模块1320被配置为基于所述窗口初始状态和所述动效触发指令,确定窗口终止状态。

窗口动效展示模块1330被配置为将所述窗口初始状态和所述窗口终止状态传递至动效处理进程,以展示窗口动效。

图14示意性示出适于实现本公开实施例的窗口动效处理方法和装置的计算机系统的结构示意图。

如图14所示,计算机系统1400包括处理器1401,其可以根据存储在只读存储器(ROM)1402中的程序或者从存储部分1408加载到随机访问存储器(RAM)1403中的程序而执行上述实施例中的各种处理。在RAM 1403中,还存储有系统1400操作所需的各种程序和数据。处理器1401、ROM 1402以及RAM 1403通过总线1404彼此相连。输入/输出(I/O)接口1405也连接至总线1404。

以下部件连接至I/O接口1405:包括键盘、鼠标等的输入部分1406;包括诸如阴极射线管(CRT)、液晶显示器(LCD)等以及扬声器等的输出部分1407;包括硬盘等的存储部分1408;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分1409。通信部分1409经由诸如因特网的网络执行通信处理。驱动器1410也根据需要连接至I/O接口1405。可拆卸介质1411,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器1410上,以便于从其上读出的计算机程序根据需要被安装入存储部分1408。其中,所述处理器1401可实现为CPU、GPU、TPU、FPGA、NPU等处理单元。

特别地,根据本公开的实施例,上文描述的方法可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上述方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分1409从网络上被下载和安装,和/或从可拆卸介质1411被安装。

附图中的流程图和框图,图示了按照本公开各种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,所述模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。

描述于本公开实施例中所涉及到的单元或模块可以通过软件的方式实现,也可以通过可编程硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,这些单元或模块的名称在某种情况下并不构成对该单元或模块本身的限定。

作为另一方面,本公开还提供了一种计算机可读存储介质,该计算机可读存储介质可以是上述实施例中电子设备或计算机系统中所包含的计算机可读存储介质;也可以是单独存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个或者一个以上程序,所述程序被一个或者一个以上的处理器用来执行本公开实施例的方法。

以上描述仅为本公开的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本公开中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本公开中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

相关技术
  • 一种高强度注塑件、高强度注塑件加工设备及工艺
  • 一种用于套筒零件拉伸加工的环保加工工艺
  • 一种用于加工网孔镶件的新型加工工艺
  • 一种复合型塑料管件的加工工艺
  • 一种基于PVC塑料管件的复合型稳定剂及其制备工艺
技术分类

06120116544365