多窗口显示的实现方法、装置、设备、介质和系统与流程

文档序号:19215548发布日期:2019-11-26 01:39阅读:159来源:国知局
多窗口显示的实现方法、装置、设备、介质和系统与流程

本申请涉及终端技术领域,尤其涉及一种多窗口显示的实现方法、装置、设备、介质和系统。



背景技术:

多窗口显示技术是指在终端屏幕中同时展示多个活动窗口的技术,用户可以在多个活动窗口中分别使用不同的应用程序。在多窗口显示时,用户不但可以在终端屏幕中同时看到多个活动窗口中展示的应用程序,而且可以通过在多个活动窗口之间的切换与多个应用程序分别进行交互。

二分屏方案作为一种特殊的多窗口显示方案,目前已在ios系统和android系统中实现。在ios系统和android系统中,用户可以将终端屏幕划分为两个独立的显示区域,并在两个独立的显示区域中分别使用不同的应用程序。但是ios系统和android系统的分屏方案只支持二分屏,分屏方式较为单一,难以满足用户多窗口显示的需求。

综上所述,目前ios系统和android系统的分屏方案只支持二分屏,分屏方式单一,难以满足用户多窗口显示的需求。

申请内容

本申请实施例提供了一种多窗口显示的实现方法、装置、设备、介质和系统,可以实现多种分屏方式,以满足用户多窗口显示的需求。

根据本申请实施例的第一方面,提供一种多窗口显示的实现方法,包括:

接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数;

基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量;

将终端桌面以应用程序的方式分别移动到创建的多个窗口中;

根据每个窗口的显示属性参数,显示创建的多个窗口。

根据本申请实施例的第二方面,提供一种多窗口显示的实现装置,装置包括:

接收模块,用于接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数;

窗口创建模块,用于基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量;

处理模块,用于将该装置所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中;

显示模块,根据每个窗口的显示属性参数,显示创建的多个窗口。

根据本申请实施例的第三方面,提供一种多窗口显示的实现设备,包括:存储器和处理器;该存储器用于储存有可执行程序代码;该处理器用于读取存储器中存储的可执行程序代码以执行上述多窗口显示的实现方法。

根据本申请实施例的第四方面,提供一种计算机可读存储介质,其上存储有计算机程序指令,当计算机程序指令被处理器执行时实现上述多窗口显示的实现方法。

根据本申请实施例的第五方面,提供一种多窗口显示的实现系统,包括:多窗口管理组件、窗口管理服务组件、以及与多窗口管理组件和窗口管理服务组件均通信连接的动态配置管理组件;其中,

多窗口管理组件,用于接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数;

动态配置管理组件,用于基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量;

窗口管理服务组件,用于将该系统所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中,并根据每个窗口的显示属性参数,显示创建的多个窗口。

根据本申请实施例中的多窗口显示的实现方法、装置、设备、介质和系统,在接收包括窗口数量和每个窗口的显示属性参数的多窗口显示请求之后,基于多个窗口的显示属性参数,创建多个窗口,并将终端桌面以应用程序的方式分别移动到创建的多个窗口中,在终端屏幕显示区域中,根据每个窗口的显示属性参数,显示创建的多个窗口,从而在终端中实现多种分屏方式,满足用户多窗口显示的需求。

附图说明

为了更清楚地说明本申请实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本申请的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1示出了根据本申请实施例的一种多窗口显示的实现方法的示意流程图;

图2示出了根据本申请实施例的另一种多窗口显示的实现方法的示意流程图;

图3示出了根据本申请实施例的一种多窗口显示的实现装置的结构示意图;

图4示出了能够实现根据本申请实施例的多窗口显示的实现方法和装置的计算设备的示例性硬件架构的结构图;

图5示出了根据本申请实施例的一种多窗口显示的实现系统的结构示意图;

图6示出了根据本申请实施例的系统管理多窗口显示的原理示意图。

具体实施方式

下面将详细描述本申请的各个方面的特征和示例性实施例,为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细描述。应理解,此处所描述的具体实施例仅被配置为解释本申请,并不被配置为限定本申请。对于本领域技术人员来说,本申请可以在不需要这些具体细节中的一些细节的情况下实施。下面对实施例的描述仅仅是为了通过示出本申请的示例来提供对本申请更好的理解。

需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。

鉴于目前ios系统和android系统的分屏方案只支持二分屏,分屏方式单一,难以满足用户多窗口显示的需求。本申请实施例提供了一种多窗口显示的实现方法,如图1所示,包括:

步骤s101,接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数。

在一个实施方式中,接收多窗口显示请求,是指接收用户向终端发送的多窗口显示请求。

在一个示例中,用户可以通过按键触发的方式向终端发送多窗口显示请求,举例来说,用户通过点击终端屏幕中显示的用于触发发送多窗口显示请求的“多窗口”按键或者按钮。

在另一示例中,用户也可以通过手势触发的方式向终端发送多窗口显示请求,举例来说,用户通过触摸终端屏幕边缘或者以特定手势触摸终端屏幕触发向终端发送多窗口显示请求。

在一个实施方式中,为了使终端接收多窗口显示请求之后,能够获知所要创建的窗口数量以及每个窗口的显示属性参数,用户向终端发送的多窗口显示请求中,还应携带所要创建的窗口数量和每个窗口的显示属性参数。

在一个实施方式中,在用户触发向终端发送多窗口显示请求时,可以请求用户输入所要创建的窗口数量和每个窗口的显示属性参数,或者可以请求用户在终端提供的多个选项卡中,选择所要创建的窗口数量和每个窗口的显示属性参数,然后将用户输入或者选择的所要创建的窗口数量和每个窗口的显示属性参数添加到多窗口显示请求中发送至终端。

在一个实施方式中,为了简化用户输入,方便用户操作,在用户触发向终端发送多窗口显示请求时,可以请求用户选择分屏模式,从而终端根据预先配置的每个分屏模式与所要创建的窗口数量和每个窗口的显示属性参数的对应关系,确定用户所选择分屏模式对应的所要创建的窗口数量和每个窗口的显示属性参数,并将确定出的用户所选择分屏模式对应的所要创建的窗口数量和每个窗口的显示属性参数添加到多窗口显示请求中发送至终端。

在一个示例中,预先配置有二分屏、四分屏以及九分屏等分屏方式。预先配置的每个分屏模式与所要创建的窗口数量和每个窗口的显示属性参数的对应关系,包括:二分屏对应创建两个大小相等的窗口且两个窗口在终端屏幕显示区域中左右并排显示;四分屏对应创建四个大小相等的窗口且四个窗口在终端屏幕显示区域的四个顶点处显示;九分屏对应创建九个大小相等的窗口且九个窗口在终端屏幕显示区域中以九宫格形式显示。

若用户触发向终端发送多窗口显示请求时,选择四分屏,则可以确定终端需要创建四个大小相等的窗口且四个窗口在终端屏幕显示区域的四个顶点处显示,进而将创建四个大小相等的窗口且四个窗口在终端屏幕显示区域的四个顶点处显示添加到多窗口显示请求中发送到终端。

在一个实施方式中,为了简化用户输入,方便用户操作,在用户触发向终端发送多窗口显示请求时,可以请求用户选择分屏模式,并将用户选择的分屏模式添加到多窗口显示请求中发送至终端。

在一个实施方式中,终端接收多窗口显示请求之后,终端可以根据多窗口显示请求中携带的信息,灵活选择获取窗口数量和每个窗口的显示属性参数的方式。

在一个示例中,若多窗口显示请求中携带有所要创建的窗口数量和每个窗口的显示属性参数,则终端直接从多窗口显示请求中获取需要创建的窗口数量和每个窗口的显示属性参数。

在另一示例中,若多窗口显示请求中携带用户所选择的分屏模式,则终端根据预先配置的每个分屏模式与所要创建的窗口数量和每个窗口的显示属性参数的对应关系,确定用户所选择分屏模式对应的所要创建的窗口数量和每个窗口的显示属性参数。

在一个实施方式中,窗口的显示属性参数,可以包括但不限于:窗口是否全屏显示、是否可调整窗口尺寸、窗口是否以浮动模式显示、窗口是否显示在其它窗口内、及窗口在屏幕中的位置。

其中,窗口在屏幕中的位置,可以通过窗口的一个顶点坐标、窗口的高度以及宽度等参数表征。举例来说,窗口a的显示属性参数中窗口在屏幕中的位置参数为(x,y,1000,2000),则表征窗口a的一个顶点在屏幕中的坐标为(x,y),且窗口a在水平方向上的长度为1000个像素单位,窗口a在竖直方向上的高度为2000单位,则窗口a的四个顶点坐标可能为(x,y)、(x+1000,y)、(x,y+2000)以及(x+1000,y+2000)。当然,窗口在屏幕中的位置,也可以直接通过窗口的四个顶点坐标表征,本申请实施例对此不做限定。

步骤s102,基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量。

在一个实施方式中,在创建显示窗口时,可以基于每个窗口的显示属性参数,分别创建窗口,以创建与多窗口显示请求中包括的窗口数量相等的窗口。

在一个实施方式中,为了显示美观或者为了方便多个窗口的创建,基于多个窗口的显示属性参数,创建多个窗口时,也可以创建多于多窗口显示请求中包括的窗口数量的窗口。举例来说,在创建八分屏中的八个窗口时,可以以九分屏的方式创建九个窗口,以方便窗口的创建。

步骤s103,将终端桌面以应用程序的方式分别移动到创建的多个窗口中。

在一个实施方式中,将终端桌面以应用程序的方式分别移动到创建的多个窗口中,是指将终端桌面作为一个特殊应用程序,以移动应用程序的方式将终端桌面分别移动到创建的多个窗口中。

在一个实施方式中,在将终端桌面以应用程序的方式分别移动到创建的多个窗口中时,若确定终端中存在当前正在运行的应用程序,则终端可以先将终端桌面以应用程序的方式移动到创建的多个窗口中,然后将终端中当前正在运行的应用程序移动到多个窗口中的任意一个窗口中。

当然,在本申请其它实施例中,终端也可以先将终端中当前正在运行的应用程序移动到多个窗口中的任意一个窗口中,然后将终端桌面以应用程序的方式移动到创建的多个窗口中,本发明对此先后顺序并不做限定。

在一个实施方式中,在将终端桌面以应用程序的方式分别移动到创建的多个窗口中时,若确定终端中当前未运行应用程序,则直接将终端桌面以应用程序的方式分别移动到创建的多个窗口中。

步骤s104,根据每个窗口的显示属性参数,显示创建的多个窗口。

在一个实施方式中,在将终端桌面以应用程序的方式分别移动到创建的多个窗口中之后,可以根据每个窗口的显示属性参数,在终端屏幕显示区域中显示创建的多个窗口。

在一个示例中,仍以上述实施例中的窗口a为例,若窗口a的显示属性参数包括:窗口不全屏显示、不可调整窗口尺寸、窗口以浮动模式显示、窗口不显示在其它窗口内、及窗口在屏幕中的位置(x,y,1000,2000)为例,则在根据窗口a的显示属性参数,在终端屏幕的显示区域中显示窗口a时,将窗口a设置为不全屏显示,不可调整窗口尺寸,窗口以浮动模式显示且不显示在其它窗口内,同时在终端屏幕(x,y)、(x+1000,y)、(x,y+2000)以及(x+1000,y+2000)四个坐标点确定的显示区域中显示窗口a。

在一个实施方式中,若用户将窗口的显示属性参数设置为在其它窗口内显示,则在显示该窗口时,将该窗口移动到其它窗口中显示。

在一个示例中,将窗口a显示属性参数中的窗口是否显示在其它窗口内设置为窗口显示在已创建窗口b内,则在显示窗口a时,将窗口a移动到窗口b中进行显示。

在一个实施方式中,在步骤s104中根据每个窗口的显示属性参数,在终端屏幕的显示区域中显示创建的多个窗口之后,如图2所示,多窗口显示的实现方法,还可以包括:

步骤s105,响应于目标窗口切换请求,将目标窗口设置为活动窗口。

在一个实施方式中,活动窗口是指当前的工作窗口,在终端屏幕的显示区域中显示创建的多个窗口之后,用户可以通过预先配置的切换指令,在显示的多个窗口之间进行切换,以切换活动窗口。具体来说,在用户发出目标窗口切换请求时,则将目标窗口设置为活动窗口。

步骤s106,响应于活动窗口中的应用程序运行请求,在活动窗口中运行应用程序。

在一个实施方式中,用户在当前的活动窗口中运行应用程序时,则该应用程序仅在当前的活动窗口中运行,从而能够实现多应用程序的同时运行。

在一个示例中,若用户a想在浏览网页的同时,观看视频1和视频2,并与用户b进行视频通话。则用户a可以在终端中创建四个窗口,也即终端屏幕的显示区域中显示四个窗口,假设记为:窗口a、窗口b、窗口c以及窗口d。

用户a可以先将活动窗口切换为窗口a,在窗口a中启动浏览器应用程序,则窗口a中运行浏览器应用程序,以使用户a可以浏览网页;之后用户a将活动窗口切换为窗口c,在窗口c中播放视频1,则窗口c中运行视频应用程序,并播放视频1;之后用户a将活动窗口切换为窗口d,在窗口d中播放视频2,则窗口d中运行视频应用程序,并播放视频2;最后,用户a将活动窗口切换为窗口b,在窗口b中启动视频通话应用程序,则窗口b中运行视频通话应用程序,以使用户a与用户b进行视频通话。

基于同样的发明构思,本申请实施例还提供了一种多窗口显示的实现装置,如图3所示,多窗口显示的实现装置,包括:

接收模块301,用于接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数。

窗口创建模块302,用于基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量。

处理模块303,用于将该装置所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中。

显示模块304,根据每个窗口的显示属性参数,显示创建的多个窗口。

本申请实施例提供的多窗口显示的实现装置中,在接收包括窗口数量和每个窗口的显示属性参数的多窗口显示请求之后,基于多个窗口的显示属性参数,创建多个窗口,并将终端桌面以应用程序的方式分别移动到创建的多个窗口中,在终端屏幕显示区域中,根据每个窗口的显示属性参数,显示创建的多个窗口,从而在终端中实现多种分屏方式,满足用户多窗口显示的需求。

在一个实施方式中,处理模块303,具体用于:在确定该装置所在终端中存在当前正在运行的应用程序时,将该装置所在终端的桌面以应用程序的方式移动到创建的多个窗口中,并将该装置所在终端中当前正在运行的应用程序移动到多个窗口中的任意一个窗口中。

在一个实施方式中,处理模块303,具体用于:在确定该装置所在终端中当前未运行应用程序时,将该装置所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中。

在一个实施方式中,多窗口显示的实现装置,还包括:窗口切换模块305,用于响应于目标窗口切换请求,将目标窗口设置为活动窗口;应用程序管理模块306,用于响应于活动窗口中的应用程序运行请求,在活动窗口中运行应用程序。

在一个实施方式中,显示属性参数包括以下参数中的一个或多个:是否全屏显示、是否可调整窗口尺寸、是否以浮动模式显示、是否显示在其它窗口内、及窗口在屏幕中的位置。

图4示出了能够实现根据本申请实施例的多窗口显示的实现方法和装置的计算设备的示例性硬件架构的结构图。如图4所示,计算设备400包括输入设备401、输入接口402、中央处理器403、存储器404、输出接口405、以及输出设备406。其中,输入接口402、中央处理器403、存储器404、以及输出接口405通过总线410相互连接,输入设备401和输出设备406分别通过输入接口402和输出接口405与总线410连接,进而与计算设备400的其他组件连接。

具体地,输入设备401接收来自外部的输入信息,并通过输入接口402将输入信息传送到中央处理器403;中央处理器403基于存储器404中存储的计算机可执行指令对输入信息进行处理以生成输出信息,将输出信息临时或者永久地存储在存储器404中,然后通过输出接口405将输出信息传送到输出设备406;输出设备406将输出信息输出到计算设备400的外部供用户使用。

也就是说,图4所示的计算设备也可以被实现为多窗口显示的实现设备,该多窗口显示的实现设备可以包括:存储有计算机可执行指令的存储器;以及处理器,该处理器在执行计算机可执行指令时可以实现结合图1-图3描述的多窗口显示的实现方法和装置。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品或计算机可读存储介质的形式实现。所述计算机程序产品或计算机可读存储介质包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(dsl))或无线(例如,红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,dvd)、或者半导体介质(例如,固态硬盘solidstatedisk(ssd))等。

另外,结合上述实施例中的多窗口显示的实现方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种多窗口显示的实现方法。

本申请实施例还提供一种多窗口显示的实现系统,如图5所示,系统包括:多窗口管理组件501、窗口管理服务组件503、以及与多窗口管理组件501和窗口管理服务组件503均通信连接的动态配置管理组件502。

多窗口管理组件501,用于接收多窗口显示请求,多窗口显示请求中包括窗口数量和每个窗口的显示属性参数。

动态配置管理组件502,用于基于多个窗口的显示属性参数,创建多个窗口,其中,创建的窗口数量大于或者等于多窗口显示请求中包括的窗口数量。

窗口管理服务组件503,用于将该系统所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中,并根据每个窗口的显示属性参数,显示创建的多个窗口。

在一个实施方式中,窗口管理服务组件503,具体用于:在确定该系统所在终端中存在当前正在运行的应用程序时,将该系统所在终端的桌面以应用程序的方式移动到创建的多个窗口中,并将该系统所在终端中当前正在运行的应用程序移动到多个窗口中的任意一个窗口中。

在一个实施方式中,窗口管理服务组件503,具体用于:在确定该系统所在终端中当前未运行应用程序时,将该系统所在终端的桌面以应用程序的方式分别移动到创建的多个窗口中。

在一个实施方式中,在具体的硬件系统架构中,窗口管理服务组件(windowmanagerserver,wms)503,负责系统最底层的窗口管理,提供应用程序编程接口(applicationprogramminginterface,api)以创建各种类型的窗口。

动态配置管理组件(dynamicpagemanagerservice,dpms)502,负责窗口运行时的管理和系统导航的调度,用于对wms提供的接口进行包装,以提供开发者api供外部开发人员使用。

多窗口管理组件(multiwindowmanager,mwm)501,利用dpms提供的接口完成多窗口功能。此种实施方式下,应用程序可以利用wms和dpms提供的回调和api来完成多窗口模式下的功能开发。

实际应用中,系统以页面(page)作为系统中应用程序的基本组成部分,page可能带有界面,也可能不带界面,带有界面的page可能处于前台,也可能处于后台。

在系统中,如图6所示,dpms以任务(task)模型和堆栈(stack)模型来管理运行中的page。具体来说,task和stack都是一种集合,一个stack中可以包含若干个task,一个task中包含若干个pagerecord,每一个pagerecord对应了一个运行中的page,但pagerecord、task结构、以及stack结构位于dpms进程内部。

task模型和stack模型决定了应用程序的返回(back)栈,也即决定了用户点击back键时,终端桌面后退到哪一个应用程序上。同一个task中的page在终端屏幕中显示的区域范围是一样的,不同的stack显示的区域则可能是不一样的。在多窗口的实现中,可以创建多个stack来指定屏幕中多块不同的显示区域。举例来说,对于二分屏模式来说,终端可创建两个独立的stack,并使两个stack的显示区域在终端屏幕中左右并排显示;对于在其它窗口中显示的窗口,其显示区域也可以是一个独立创建的stack。

需要明确的是,本申请并不局限于上文所描述并在图中示出的特定配置和处理。为了简明起见,这里省略了对已知方法的详细描述。在上述实施例中,描述和示出了若干具体的步骤作为示例。但是,本申请的方法过程并不限于所描述和示出的具体步骤,本领域的技术人员可以在领会本申请的精神后,作出各种改变、修改和添加,或者改变步骤之间的顺序。

还需要说明的是,本申请中提及的示例性实施例,基于一系列的步骤或者装置描述一些方法或系统。但是,本申请不局限于上述步骤的顺序,也就是说,可以按照实施例中提及的顺序执行步骤,也可以不同于实施例中的顺序,或者若干步骤同时执行。

以上所述,仅为本申请的具体实施方式,所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、模块和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。应理解,本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本申请的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1