CN114115618B - 一种应用窗口显示方法与电子设备 - Google Patents
一种应用窗口显示方法与电子设备 Download PDFInfo
- Publication number
- CN114115618B CN114115618B CN202010885419.5A CN202010885419A CN114115618B CN 114115618 B CN114115618 B CN 114115618B CN 202010885419 A CN202010885419 A CN 202010885419A CN 114115618 B CN114115618 B CN 114115618B
- Authority
- CN
- China
- Prior art keywords
- window
- application
- display
- task stack
- electronic device
- 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.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 49
- 230000015654 memory Effects 0.000 claims description 26
- 230000004044 response Effects 0.000 claims description 24
- 238000004590 computer program Methods 0.000 claims description 10
- 230000008859 change Effects 0.000 claims description 5
- 230000003993 interaction Effects 0.000 abstract description 11
- 230000008901 benefit Effects 0.000 abstract description 7
- 238000010586 diagram Methods 0.000 description 21
- 230000000694 effects Effects 0.000 description 21
- 238000004891 communication Methods 0.000 description 20
- 230000006870 function Effects 0.000 description 15
- 238000013461 design Methods 0.000 description 14
- 238000007726 management method Methods 0.000 description 12
- 238000010295 mobile communication Methods 0.000 description 10
- 230000001413 cellular effect Effects 0.000 description 8
- 238000012545 processing Methods 0.000 description 8
- 210000000988 bone and bone Anatomy 0.000 description 5
- 230000008569 process Effects 0.000 description 5
- 238000013500 data storage Methods 0.000 description 4
- 229920001621 AMOLED Polymers 0.000 description 3
- 230000001133 acceleration Effects 0.000 description 3
- 230000009286 beneficial effect Effects 0.000 description 3
- 238000005516 engineering process Methods 0.000 description 3
- 230000002159 abnormal effect Effects 0.000 description 2
- 238000001514 detection method Methods 0.000 description 2
- 230000002452 interceptive effect Effects 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000238557 Decapoda Species 0.000 description 1
- 206010044565 Tremor Diseases 0.000 description 1
- 230000003321 amplification Effects 0.000 description 1
- 238000013528 artificial neural network Methods 0.000 description 1
- 230000003416 augmentation Effects 0.000 description 1
- 230000036772 blood pressure Effects 0.000 description 1
- 244000240602 cacao Species 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 230000005484 gravity Effects 0.000 description 1
- 239000010985 leather Substances 0.000 description 1
- 239000004973 liquid crystal related substance Substances 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001537 neural effect Effects 0.000 description 1
- 238000003199 nucleic acid amplification method Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000010349 pulsation Effects 0.000 description 1
- 239000002096 quantum dot Substances 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0481—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
- G06F3/04817—Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
- G06F3/04842—Selection of displayed objects or displayed text elements
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M2250/00—Details of telephonic subscriber devices
- H04M2250/12—Details of telephonic subscriber devices including a sensor for measuring a physical value, e.g. temperature or motion
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Software Systems (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
一种应用窗口显示方法与电子设备,该方法可以应用于人机交互等领域,该方法涉及图形用户界面(graphical user interface,GUI)。其中,电子设备安装有第一应用,第一应用被配置为,显示第一应用的第一窗口时,若打开第一应用的第二窗口,第二窗口完全覆盖第一窗口显示,该方法包括:在第一任务栈中创建第一窗口以显示第一窗口;在第二任务栈中创建第二窗口以显示第二窗口;其中,第二任务栈与第一任务栈不同。以第一应用是手机应用为例,手机应用新打开的窗口完全覆盖旧窗口,通过本申请的方案,当第一应用在电子设备比如大屏设备上运行时,可以多窗口显示,充分利用大屏优势,提升交互体验。
Description
技术领域
本申请涉及终端技术领域,尤其涉及一种应用窗口显示方法与电子设备。
背景技术
为了方便用户携带,一些便捷式设备(比如手机)规格较小,相应的,显示屏面积相对较小。以手机为例,受限于显示屏面积,手机上的应用窗口的显示方式为:一个应用中新打开的窗口完全覆盖旧窗口。比如,参见图1A中的(a),手机显示一即时通信应用的首页,当手机检测到用户点击控件101的操作时,显示如图1A中的(b)所示的界面,该界面完全覆盖(a)中的首页。
当手机应用被安装到大屏设备时,如果仍然按照新窗口完全覆盖旧窗口的显示方式来显示的话,效果为:假设平板电脑中安装上述即使通信应用,打开该即使通信应用显示首页,参见图1B中的(a)所示,当检测到点击控件201的操作后,显示图1B中的(b)所示的界面,该界面完全覆盖了首页。显然,手机应用在大屏设备上运行时,这种新窗口覆盖旧窗口的显示方式不适配大屏幕,没有充分利用大屏的优势。
发明内容
本申请的目的在于提供了一种应用窗口显示方法与电子设备,用于提升手机应用在大屏设备上显示时的交互体验。
第一方面,提供一种应用窗口显示方法,该方法应用于电子设备,电子设备例如可以是台式电脑、电视机等大屏设备。电子设备安装有第一应用,所述第一应用被配置为,显示所述第一应用的第一窗口时,若打开所述第一应用的第二窗口,所述第二窗口完全覆盖所述第一窗口显示,所述方法包括:在第一任务栈中创建所述第一窗口以显示所述第一窗口;在第二任务栈中创建所述第二窗口以显示所述第二窗口;其中,所述第二任务栈与所述第一任务栈不同。
以第一应用是手机应用为例,手机应用被配置为新打开的窗口完全覆盖旧窗口。假设电子设备是大屏设备,当手机应用在大屏设备上运行时,电子设备可以在不同的任务栈中创建不同的窗口,实现多窗口显示。一方面,可以利用大屏优势,通过应用的多窗口显示提升手机应用在大屏设备上的交互体验。另一方面,对于手机应用的开发商而言,无需为手机应用单独开发一套为了适配大屏设备的软件,节省开发成本。
上文中,多窗口显示方式可以是第二窗口和第一窗口部分重叠显示;或者,第二窗口和第一窗口不重叠、且第二窗口和第一窗口未占满全部显示区域。或者,第一窗口是全屏显示的情况下,多窗口显示方式还可以是,第一窗口保持全屏显示,第二窗口在第一窗口的上层显示;或者,第一窗口退出全屏,第二窗口与退出全屏之后的第一窗口部分重叠;或者,第一窗口退出全屏,第二窗口与退出全屏之后的第一窗口不重叠、且第二窗口与退出全屏之后的第一窗口未占满全部显示区域。
结合第一方面,在第一方面的一种可能的实施方式中,所述在第二任务栈中创建所述第二窗口,包括:响应于打开所述第二窗口的第一操作,在所述第二任务栈中创建所述第二窗口。继续以第一应用是手机应用、电子设备是大屏设备为例,当手机应用在大屏设备上显示第一窗口时,如果检测到用于打开第二窗口的操作,则新建任务栈即第二任务栈,在第二任务栈中创建第二窗口,实现多窗口显示,提升应用交互体验。
结合第一方面,在第一方面的一种可能的实施方式中,所述在第二任务栈中创建所述第二窗口,包括:响应于打开所述第二窗口的第一操作,在所述第一任务栈中创建所述第二窗口,所述第二窗口位于所述第一窗口的上层;响应于弹出所述第二窗口的第二操作,在所述第二任务栈中创建所述第二窗口,关闭所述第一任务栈中的所述第二窗口。继续以第一应用是手机应用、电子设备是大屏设备为例,当手机应用在大屏设备上显示第一窗口时,如果检测到用于打开第二窗口的操作,在第一窗口所在的第一任务占中创建第二窗口,此时第二窗口完全覆盖第一窗口;当检测到弹出第二窗口的操作时,第一任务栈中的第二窗口关闭,新建任务栈即第二任务栈,在第二任务栈中创建第二窗口,实现多窗口显示。这种方式中,电子设备打开第二窗口时,默认第二窗口覆盖第一窗口,当用户想要弹出第二窗口时,再弹出第二窗口,交互体验更好。
结合第一方面,在第一方面的一种可能的实施方式中,在所述第二任务栈中创建所述第二窗口,包括:若所述第二窗口和所述第一窗口相关联,响应于弹出所述第二窗口的第二操作,在所述第二任务栈中创建所述第二窗口;若所述第二窗口和所述第一窗口不相关联,响应于打开所述第二窗口的第一操作,在所述第二任务栈中创建所述第二窗口。也就是说,如果第二窗口和第一窗口不相关联,打开第二窗口时,第二窗口不完全覆盖第一窗口;如果相关联,打开第二窗口时可以默认覆盖第一窗口,检测到弹出第二窗口的操作时,第二窗口弹出,弹出后的第二窗口不完全覆盖第一窗口。
其中,第一窗口和第二窗口不存在关联关系,包括:第一窗口的显示内容不需要随第二窗口的显示结果变化;否则,第一窗口和第二窗口存在关联关系。比如,以购物应用为例,第一窗口是购物应用的首页,首页中包括一个显示区域,该显示区域中包括用户喜欢浏览的物品的清单。第二窗口是用于浏览物品的窗口。第二窗口的显示结果表征用户喜欢浏览的商品,需要在首页中的所述区域中显示,即第一窗口需要第二窗口的显示结果。
结合第一方面,在第一方面的一种可能的实施方式中,在所述第二任务栈中创建所述第二窗口之前,所述方法还包括:确定已创建的任务栈中不包括所述第二窗口。也就是说,电子设备创建第二窗口之前,还可以判断已创建的任务栈中是否存在第二窗口,如果不存在,说明没有可复用的第二窗口,则创建第二窗口,如果存在,可以复用已创建的第二窗口(下文介绍)。
结合第一方面,在第一方面的一种可能的实施方式中,若已创建的任务栈中包括所述第二窗口,所述方法还包括:关闭所述已创建的任务栈中,位于所述第二窗口上层的至少一个窗口,以显示所述第二窗口。因此,如果已创建的任务栈中存在第二窗口,那么电子设备可以复用已创建的第二窗口,即将第二窗口所在任务栈中位于第二窗口上层的窗口关闭,以显示第二窗口。这种情况下,电子设备无需再次创建第二窗口,合理利用已创建的窗口,节省时间,提升效率。
结合第一方面,在第一方面的一种可能的实施方式中,所述方法还包括:接收用户对目标窗口的第三操作,所述第三操作用于改变窗口的显示位置或显示面积;响应于所述第三操作,确定所述目标窗口所在的任务栈,改变所述目标窗口所在的任务栈的显示位置或显示面积。在本申请实施例中,由于第一窗口和第二窗口在不同任务栈,所以第一窗口和第二窗口相互独立,可单独管理;比如,如果要调整一个窗口的显示位置或面积,可以调整该窗口所在任务栈的显示位置或面积,不影响另一个窗口的显示位置和面积。区别于分屏显示模式,分屏显示模式中两个窗口是联动的,一个窗口的显示面积放大,另一个窗口的显示面积缩小。因此,相比于分屏模式,本申请中不同窗口相互独立的模式,更适配具备鼠标等输入设备的大屏电子设备(比如台式电脑),用户操作更为便捷,交互体验更好。
结合第一方面,在第一方面的一种可能的实施方式中,所述方法还包括:接收用户对目标窗口的第四操作,所述第四操作用于关闭窗口;响应于所述第四操作,关闭所述目标窗口。也就是说,多窗口显示时,可单独关闭目标窗口;这种多窗口相互独立、单独管理的方式,更方便用户操作,交互体验更好。
结合第一方面,在第一方面的一种可能的实施方式中,关闭目标窗口,包括:关闭目标窗口所在的任务栈中的所有窗口,或关闭目标窗口所在的任务栈中的最上层窗口。比如,假设一个任务栈中包括三个窗口,可以关闭该任务栈即三个窗口均关闭,即一次关闭多个窗口,效率较高;或者,只关闭该任务栈最上层的窗口,那么最上层窗口被关闭之后,该任务栈中新的最上层窗口显示出来,这种方式,可以逐层关闭任务栈中的每个窗口。
结合第一方面,在第一方面的一种可能的实施方式中,所述方法还包括:确定所述第一窗口的第一title;所述第一title包括所述第一应用的应用名和所述第一窗口的窗口名;确定所述第二窗口的第二title;所述第二title包括所述第一应用的应用名和所述第二窗口的窗口名;在所述第一窗口中显示所述第一title,在所述第二窗口中显示所述第二title。以第一应用是畅连为例,假设第一窗口是畅连的首页,第一title可以是“畅连+首页”,假设第二窗口是与联系人A的聊天窗口,第二title可以是“畅连+与联系人A的聊天窗口”。因此,第一窗口中可以显示“畅连+首页”,第二窗口中可以显示“畅连+与联系人A的聊天窗口”。在窗口数量较多的情况下,用户可以通过每个窗口的title区分不同的窗口。
结合第一方面,在第一方面的一种可能的实施方式中,所述第一操作为作用于所述第一窗口中的点击操作;所述第二操作为作用于所述第二窗口中长按和拖动操作。此处,仅是示例性的列举第一操作和第二操作的具体操作形式,不构成对第一操作和第二操作的限定,其它的操作形式也是可以的。
第二方面,还提供一种电子设备,包括:
一个或多个处理器;
一个或多个存储器;
其中,所述电子设备安装有第一应用,所述第一应用被配置为,显示所述第一应用的第一窗口时,若打开所述第一应用的第二窗口,所述第二窗口完全覆盖所述第一窗口显示,
其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
在第一任务栈中创建所述第一窗口以显示所述第一窗口;
在第二任务栈中创建所述第二窗口以显示所述第二窗口;
其中,所述第二任务栈与所述第一任务栈不同。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备具体执行以下步骤:
响应于打开所述第二窗口的第一操作,在所述第二任务栈中创建所述第二窗口。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备具体执行以下步骤:
响应于打开所述第二窗口的第一操作,在所述第一任务栈中创建所述第二窗口,所述第二窗口位于所述第一窗口的上层;
响应于弹出所述第二窗口的第二操作,在所述第二任务栈中创建所述第二窗口,关闭所述第一任务栈中的所述第二窗口。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备具体执行以下步骤:
若所述第二窗口和所述第一窗口相关联,响应于弹出所述第二窗口的第二操作,在所述第二任务栈中创建所述第二窗口;
若所述第二窗口和所述第一窗口不相关联,响应于打开所述第二窗口的第一操作,在所述第二任务栈中创建所述第二窗口。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
确定已创建的任务栈中不包括所述第二窗口。
在一种可能的设计中,若已创建的任务栈中包括所述第二窗口,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
关闭所述已创建的任务栈中,位于所述第二窗口上层的至少一个窗口,以显示所述第二窗口。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
接收用户对目标窗口的第三操作,所述第三操作用于改变窗口的显示位置或显示面积;
响应于所述第三操作,确定所述目标窗口所在的任务栈,改变所述目标窗口所在的任务栈的显示位置或显示面积。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
接收用户对目标窗口的第四操作,所述第四操作用于关闭窗口;
响应于所述第四操作,关闭所述目标窗口。
在一种可能的设计中,关闭目标窗口,包括:
关闭目标窗口所在的任务栈中的所有窗口,或
关闭目标窗口所在的任务栈中的最上层窗口。
在一种可能的设计中,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
确定所述第一窗口的第一title;所述第一title包括所述第一应用的应用名和所述第一窗口的窗口名;
确定所述第二窗口的第二title;所述第二title包括所述第一应用的应用名和所述第二窗口的窗口名;
在所述第一窗口中显示所述第一title,在所述第二窗口中显示所述第二title。
在一种可能的设计中,所述第一操作为作用于所述第一窗口中的点击操作;
所述第二操作为作用于所述第二窗口中长按和拖动操作。
第三方面,本申请实施例还提供了一种电子设备,所述电子设备包括执行上述第一方面或者第一方面的任意一种可能的设计的方法的模块/单元;这些模块/单元可以通过硬件实现,也可以通过硬件执行相应的软件实现。
第四方面,本申请实施例还提供一种芯片,所述芯片与电子设备中的存储器耦合,用于调用存储器中存储的计算机程序并执行本申请实施例第一方面及其第一方面任一可能设计的技术方案;本申请实施例中“耦合”是指两个部件彼此直接或间接地结合。
第五方面,还提供一种计算机可读存储介质,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如上述第一方面及其第一方面任一可能设计的技术方案。
第六方面,还提供一种程序产品,包括指令,当所述指令在计算机上运行时,使得所述计算机执行如上述第一方面及其第一方面任一可能设计的技术方案。
第七方面,还提供一种电子设备上的图形用户界面,所述电子设备具有显示屏、一个或多个存储器、以及一个或多个处理器,所述一个或多个处理器用于执行存储在所述一个或多个存储器中的一个或多个计算机程序,所述图形用户界面包括所述电子设备执行上述第一方面及其第一方面任一可能设计的技术方案时显示的图形用户界面。
上述第二方面至第七方面的有益效果,请参见第一方面的有益效果,不重复赘述。
附图说明
图1A为本申请一实施例提供的手机中应用窗口的显示方式的示意图;
图1B为本申请一实施例提供的手机应用在大屏设备上运行时的显示方式的示意图;
图2为本申请一实施例提供的电子设备的硬件结构示意图;
图3为本申请一实施例提供的电子设备的软件结构示意图;
图4为本申请一实施例提供的一种应用窗口显示方法的流程示意图;
图5为本申请一实施例提供的大屏设备打开第一窗口的一种示例的示意图;
图6A为本申请一实施例提供的第一种窗口弹出方式的示意图;
图6B为本申请一实施例提供的第一种窗口弹出方式的一种示例的示意图;
图7为本申请一实施例提供的第一种窗口弹出方式的另一种示例的示意图;
图8A为本申请一实施例提供的第二种窗口弹出方式的示意图;
图8B为本申请一实施例提供的第二种窗口弹出方式的一种示例的示意图;
图9A至图9C为本申请一实施例提供的大屏设备上GUI的示意图;
图10为本申请一实施例提供的第三种窗口弹出方式的示意图;
图11为本申请一实施例提供的第三种窗口弹出方式的一种示例的示意图;
图12为本申请一实施例提供的第三种窗口弹出方式的另一种示例的示意图;
图13A为本申请一实施例提供的窗口复用的示意图;
图13B为本申请一实施例提供的窗口复用的一种示例的示意图;
图14为本申请一实施例提供的多窗口的显示方式的示意图;
图15为本申请一实施例提供的窗口管理的流程示意图;
图16为本申请一实施例提供的窗口管理的一种示例的示意图;
图17为本申请一实施例提供的分屏显示模式的示意图。
具体实施方式
下面先对本申请实施例中涉及的部分用语做出解释说明。
(1)应用程序(application,简称app),简称应用,为能够实现某项或多项特定功能的软件程序。通常,电子设备中可以安装多个应用,例如,即时通讯类应用、视频类应用、音频类应用、图像拍摄类应用等等。其中,即时通信类应用,例如可以包括短信应用、畅连、微信(WeChat)、WhatsApp Messenger、连我(Line)、照片分享(Instagram)、Kakao Talk、钉钉等。图像拍摄类应用,例如可以包括相机应用(系统相机或第三方相机应用)。视频类应用,例如可以包括Youtube、Twitter、抖音、爱奇艺,腾讯视频等等。音频类应用,例如可以包括Google Music、酷狗音乐、虾米、QQ音乐等等。以下实施例中提到的应用,可以是电子设备出厂时已安装的应用,也可以是用户在使用电子设备的过程中从网络下载或其他电子设备获取的应用。
(2)应用的窗口(activity),是指应用的显示区域。一个应用可以对应多个窗口,不同窗口可以显示该应用的不同内容。
(3)任务栈(task),用于创建activity的软件模块,可以理解为用来放置activity的容器。Task以栈的形式(即先进后出的形式)放置activity。所谓“先进后出”可以理解为:系统创建一个task,并在该task中放置第一activity,之后若在该task中创建第二activity,由于在第二activity之前,第一activity已入栈,所以第二activity后入栈会压入第一Activity,即第二activity位于第一Activity上层,此时显示第二activity,而不显示第一activity。当第二activity被关闭时,第二Activity就会出栈。第二Activity出栈之后,由于第一Activity位于该task的最上层,所以显示第一activity。
(4)本申请实施例涉及的“打开”应用,可以是指启动应用,并在前台显示该应用的窗口,或者,将正在后台运行的应用切换到前台运行。
(5)本申请实施例涉及的“从窗口A打开窗口B”的描述,可以理解为,检测到作用于窗口A中的操作,响应于该操作,显示窗口B,窗口B不完全覆盖窗口A。
(6)本申请实施例涉及的至少一个,包括一个或者多个;其中,多个是指大于或者等于两个。另外,需要理解的是,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为明示或暗示相对重要性,也不能理解为明示或暗示顺序。
如前文所述,当手机应用被安装到大屏设备时,无法很好的适配大屏设备,没有很好的利用大屏的优势。
鉴于此,本申请实施例提供一种应用窗口的显示方法,该方法涉及的场景包括:手机应用被安装到大屏电子设备中。与手机应用在手机上运行时的显示方式(新窗口覆盖旧窗口)不同,大屏电子设备运行手机应用时,手机应用可以显示多个窗口,充分利用大屏的优势,为用户提供更好的应用交互体验。
本申请实施例涉及的大屏电子设备例如可以包括平板、笔记本电脑、台式电脑、电视机等设备,或者,任何比手机显示屏面积大的设备都可以,本申请实施例不作限定。
当然,本申请实施例提供的方法也是可以适用于手机的,即手机运行应用时,应用也可以打开多个窗口。以下实施例主要以平板电脑为例介绍。
以下介绍电子设备、用于这样的电子设备的图形用户界面(graphical userinterface,GUI)、和用于使用这样的电子设备的实施例。以下实施例中以电子设备是手机为例,图2示出了手机的结构示意图。如图2所示,手机100可以包括处理器110,外部存储器接口120,内部存储器121,通用串行总线(universal serial bus,USB)接口130,充电管理模块140,电源管理模块141,电池142,天线1,天线2,移动通信模块150,无线通信模块160,音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,传感器模块180,按键190,马达191,指示器192,摄像头193,显示屏194,以及用户标识模块(subscriberidentification module,SIM)卡接口195等。其中传感器模块180可以包括压力传感器180A,陀螺仪传感器180B,气压传感器180C,磁传感器180D,加速度传感器180E,距离传感器180F,接近光传感器180G,指纹传感器180H,温度传感器180J,触摸传感器180K,环境光传感器180L,骨传导传感器180M等。
处理器110可以包括一个或多个处理单元,例如:处理器110可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(neural-network processing unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机100的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。处理器110中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器110中的存储器为高速缓冲存储器。该存储器可以保存处理器110刚用过或循环使用的指令或数据。如果处理器110需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器110的等待时间,因而提高了系统的效率。
USB接口130是符合USB标准规范的接口,具体可以是Mini USB接口,Micro USB接口,USB Type C接口等。USB接口130可以用于连接充电器为手机100充电,也可以用于手机100与外围设备之间传输数据。充电管理模块140用于从充电器接收充电输入。电源管理模块141用于连接电池142,充电管理模块140与处理器110。电源管理模块141接收电池142和/或充电管理模块140的输入,为处理器110,内部存储器121,外部存储器,显示屏194,摄像头193,和无线通信模块160等供电。
手机100的无线通信功能可以通过天线1,天线2,移动通信模块150,无线通信模块160,调制解调处理器以及基带处理器等实现。天线1和天线2用于发射和接收电磁波信号。手机100中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块150可以提供应用在手机100上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块150可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块150可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块150还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块150的至少部分功能模块可以被设置于处理器110中。在一些实施例中,移动通信模块150的至少部分功能模块可以与处理器110的至少部分模块被设置在同一个器件中。
无线通信模块160可以提供应用在手机100上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块160可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块160经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器110。无线通信模块160还可以从处理器110接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。
在一些实施例中,手机100的天线1和移动通信模块150耦合,天线2和无线通信模块160耦合,使得手机100可以通过无线通信技术与网络以及其他设备通信。所述无线通信技术可以包括全球移动通讯系统(global system for mobile communications,GSM),通用分组无线服务(general packet radio service,GPRS),码分多址接入(code divisionmultiple access,CDMA),宽带码分多址(wideband code division multiple access,WCDMA),时分码分多址(time-division code division multiple access,TD-SCDMA),长期演进(long term evolution,LTE),BT,GNSS,WLAN,NFC,FM,和/或IR技术等。所述GNSS可以包括全球卫星定位系统(global positioning system,GPS),全球导航卫星系统(globalnavigation satellite system,GLONASS),北斗卫星导航系统(beidou navigationsatellite system,BDS),准天顶卫星系统(quasi-zenith satellite system,QZSS)和/或星基增强系统(satellite based augmentation systems,SBAS)。
显示屏194用于显示应用的显示界面等。显示屏194包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emitting diode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrix organic light emitting diode的,AMOLED),柔性发光二极管(flex light-emitting diode,FLED),Miniled,MicroLed,Micro-oLed,量子点发光二极管(quantum dotlight emitting diodes,QLED)等。在一些实施例中,手机100可以包括1个或N个显示屏194,N为大于1的正整数。
摄像头193用于捕获静态图像或视频。摄像头193可以包括前置摄像头和后置摄像头。
内部存储器121可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器110通过运行存储在内部存储器121的指令,从而执行手机100的各种功能应用以及数据处理。内部存储器121可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,以及至少一个应用程序(例如爱奇艺应用,微信应用等)的软件代码等。存储数据区可存储手机100使用过程中所产生的数据(例如图像、视频等)等。此外,内部存储器121可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
外部存储器接口120可以用于连接外部存储卡,例如Micro SD卡,实现扩展手机100的存储能力。外部存储卡通过外部存储器接口120与处理器110通信,实现数据存储功能。例如将图片,视频等文件保存在外部存储卡中。
手机100可以通过音频模块170,扬声器170A,受话器170B,麦克风170C,耳机接口170D,以及应用处理器等实现音频功能。例如音乐播放,录音等。
压力传感器180A用于感受压力信号,可以将压力信号转换成电信号。在一些实施例中,压力传感器180A可以设置于显示屏194。陀螺仪传感器180B可以用于确定手机100的运动姿态。在一些实施例中,可以通过陀螺仪传感器180B确定手机100围绕三个轴(即,x,y和z轴)的角速度。
陀螺仪传感器180B可以用于拍摄防抖。气压传感器180C用于测量气压。在一些实施例中,手机100通过气压传感器180C测得的气压值计算海拔高度,辅助定位和导航。磁传感器180D包括霍尔传感器。手机100可以利用磁传感器180D检测翻盖皮套的开合。在一些实施例中,当手机100是翻盖机时,手机100可以根据磁传感器180D检测翻盖的开合。进而根据检测到的皮套的开合状态或翻盖的开合状态,设置翻盖自动解锁等特性。加速度传感器180E可检测手机100在各个方向上(一般为三轴)加速度的大小。当手机100静止时可检测出重力的大小及方向。还可以用于识别电子设备姿态,应用于横竖屏切换,计步器等应用。
距离传感器180F,用于测量距离。手机100可以通过红外或激光测量距离。在一些实施例中,拍摄场景,手机100可以利用距离传感器180F测距以实现快速对焦。接近光传感器180G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机100通过发光二极管向外发射红外光。手机100使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机100附近有物体。当检测到不充分的反射光时,手机100可以确定手机100附近没有物体。手机100可以利用接近光传感器180G检测用户手持手机100贴近耳朵通话,以便自动熄灭屏幕达到省电的目的。接近光传感器180G也可用于皮套模式,口袋模式自动解锁与锁屏。
环境光传感器180L用于感知环境光亮度。手机100可以根据感知的环境光亮度自适应调节显示屏194亮度。环境光传感器180L也可用于拍照时自动调节白平衡。环境光传感器180L还可以与接近光传感器180G配合,检测手机100是否在口袋里,以防误触。指纹传感器180H用于采集指纹。手机100可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
温度传感器180J用于检测温度。在一些实施例中,手机100利用温度传感器180J检测的温度,执行温度处理策略。例如,当温度传感器180J上报的温度超过阈值,手机100执行降低位于温度传感器180J附近的处理器的性能,以便降低功耗实施热保护。在另一些实施例中,当温度低于另一阈值时,手机100对电池142加热,以避免低温导致手机100异常关机。在其他一些实施例中,当温度低于又一阈值时,手机100对电池142的输出电压执行升压,以避免低温导致的异常关机。
触摸传感器180K,也称“触控面板”。触摸传感器180K可以设置于显示屏194,由触摸传感器180K与显示屏194组成触摸屏,也称“触控屏”。触摸传感器180K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏194提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器180K也可以设置于手机100的表面,与显示屏194所处的位置不同。
骨传导传感器180M可以获取振动信号。在一些实施例中,骨传导传感器180M可以获取人体声部振动骨块的振动信号。骨传导传感器180M也可以接触人体脉搏,接收血压跳动信号。
按键190包括开机键,音量键等。按键190可以是机械按键。也可以是触摸式按键。手机100可以接收按键输入,产生与手机100的用户设置以及功能控制有关的键信号输入。马达191可以产生振动提示。马达191可以用于来电振动提示,也可以用于触摸振动反馈。例如,作用于不同应用(例如拍照,音频播放等)的触摸操作,可以对应不同的振动反馈效果。指示器192可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。SIM卡接口195用于连接SIM卡。SIM卡可以通过插入SIM卡接口195,或从SIM卡接口195拔出,实现和手机100的接触和分离。
可以理解的是,图2所示的部件并不构成对电子设备的具体限定。本发明实施例中的电子设备可以包括比图2中更多或更少的部件。此外,图2中的部件之间的组合/连接关系也是可以调整修改的。
图3示出了本申请一实施例提供的电子设备的软件结构框图。如图3所示,电子设备的软件结构可以是分层架构,例如可以将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,系统分为四层,从上至下分别为应用程序层(简称应用层),软件开发工具包(software development kit,SDK)接口层,应用程序框架层(framework,FWK),以及内核层。
应用程序层可以包括一系列应用程序包。图3仅示例性的画出相机、图库、即时通信应用等,实际上还可以包括更多的应用,例如,还可以包括设置、皮肤模块、用户界面(user interface,UI)、日历,通话,地图,导航,WLAN,蓝牙,音乐,视频等。其中,即时通信应用例如可以包括畅连、端短信等应用。
SDK接口层,用于提供SDK接口,作为应用层与框架层的桥梁,可以用于将应用层产生的指令转发给框架层,所述指令比如下文中提到的输入事件、窗口创建请求、窗口调整请求、窗口关闭请求等。在一些实施例中,SDK接口层还可以具有确定窗口的title的功能,这部分将在后文介绍。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层可以包括一些预先定义的函数。图3仅示例性的画出框架层中包括窗口管理服务(window manager service,WMS),实际上应用程序框架层还可以包括更多,比如内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。其中,WMS用于管理窗口,具体包括窗口的建立、位置或大小的调整、窗口的关闭等等。窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
内核层是硬件和软件之间的层。内核层至少包含输入设备驱动,显示驱动,当然,还可以包括摄像头驱动,音频驱动,传感器驱动等。其中,输入设备驱动可以用于将输入设备检测到的输入操作转换为硬件中断指令,将该中断指令作为输入事件发送给上层比如应用层。所述输入设备可以是触摸屏、触摸笔、鼠标、键盘等,可以理解的是,如果电子设备是平板电脑,输入设备可以是触摸屏,如果电子设备是台式电脑,输入设备可以是鼠标、键盘等。显示驱动用于驱动显示器显示内容,上层比如应用层通过WMS创建窗口,以通过显示驱动来驱动显示器显示该窗口。
可以理解的是,图3所示的软件结构并不构成对电子设备的软件结构的具体限定,例如可以包括比图3中更多或更少的层,比如还包括硬件抽象层(hardware abstractionlayer,HAL)、硬件层等。
以下,将结合附图对本申请实施例进行具体介绍。以下实施例以图3所示的软件架构为例介绍。
实施例一
本实施例中,手机应用被安装到大屏电子设备。当电子设备的显示屏上显示应用的第一窗口时,如果检测到用于打开应用的第二窗口的操作,响应于该操作,显示屏上显示第一窗口和第二窗口,第二窗口不会完全覆盖第一窗口,实现手机应用在大屏电子设备上的多窗口显示,充分利用大屏的优势,提升手机应用在大屏电子设备上的应用交互体验。具体的,本实施例中第一窗口和第二窗口的显示方式的流程可以参考如图4所示,其中,打开第一窗口的步骤包括S1-S7中的全部或部分步骤,打开第二窗口的步骤包括S8-S14(具体是S8-S10b,S11-S14)的全部或部分步骤。
S1,输入设备驱动检测到用于打开应用的操作。
以图5中的(a)为例,电子设备显示主界面,该主界面中包括多个应用的图标,用于打开应用的操作可以是点击应用的图标的操作,比如,点击即时通信应用的图标的操作。
S2,输入设备驱动向应用层发送第一输入事件,第一输入事件可以包括所述用于打开应用的操作的操作类型、操作时间、位置坐标等。其中,操作类型包括点击操作、长按操作、滑动操作等等,操作时间可以理解为操作发生的时间,操作的位置坐标是指操作在显示屏上的位置坐标。
继续以图5中的(a)为例,第一输入事件包括的操作类型是点击操作,位置坐标是指点击操作在显示屏上的位置坐标,操作时间比如几点几分几秒。在一些实施例中,输入设备驱动向应用层发送第一输入事件可以包括:输入设备驱动向框架层发送第一输入事件,框架层接收到第一输入事件之后,确定第一输入事件的位置坐标对应的是即时通信应用的图标,且操作类型是点击操作,说明用户要打开即时通信应用,此时,框架层可以将第一输入事件分发给应用层中的即时通信应用。之后,即时通信应用可以响应第一输入事件,请求WMS创建对应的窗口,即下述步骤S3。
S3、应用层通过SDK接口层向WMS发送第一窗口创建请求,具体来说,S3包括S3a和S3b,其中,S3a是应用层向SDK接口层发送第一窗口创建请求,S3b是SDK接口层向WMS发送第一窗口创建请求。
如果继续以图5(a)为例的话,应用层通过SDK接口层向WMS发送第一窗口创建请求可以是指,应用层中的即时通信应用通过SDK接口层向WMS发送第一窗口创建请求。可以理解的是,第一窗口创建请求中可以包括应用的名称,以即时通信应用是畅连为例,那么第一窗口创建请求中包括应用名称“畅连”。当然,第一窗口创建请求中还可以包括窗口需求,可以理解为应用请求创建什么样的窗口,比如,所述窗口需求比如包括应用的首页、与某个联系人的聊天窗口等等。服务器根据第一创建请求获取元素,所述元素可以理解为用于绘制窗口所需要的资源,比如文本信息、图片、视频等。服务器将元素发给电子设备,电子设备基于所述元素绘制得到所述第一窗口。其中,所述服务器可以理解为所述应用对应的服务器。
可选的,SDK接口层除了具有第一窗口创建请求的转发功能之外,还可以具有确定第一窗口的第一title的功能,也就是说,下述步骤中的S5可以由SDK接口层执行,比如当SDK接口层接收到第一窗口创建请求后,确定第一窗口创建请求所请求创建的第一窗口的第一title。如果是由SDK接口层确定第一窗口的第一title,那么在S3b中SDK接口层向WMS发送的第一窗口创建请求中可以携带所述第一title,以通知WMS第一窗口的第一title,这样的话,WMS可以无需执行S5,所以图中S5用虚线表示。
S4、WMS在第一任务栈中创建第一窗口。
可以理解的是,在S4之前还可以包括步骤:WMS建立第一任务栈。其中,第一窗口创建请求中可以携带应用的名称,所以WMS接收到第一窗口创建请求之后,可以确定哪一个应用要创建窗口,WMS为该应用创建一个对应的任务栈即第一任务栈,在第一任务栈中创建第一窗口。其中,关于任务栈的介绍参见前文,在此不重复赘述。比如,参见图6A所示,第一窗口在第一任务栈中。
S5、WMS确定第一窗口的第一title。
本实施例中,每创建一个窗口可以确定一个对应的title,用于唯一标识该窗口。title的格式可以是应用名称+窗口名称;比如,以图5中的(a)为例,假设即时通信应用是畅连,电子设备检测到用户点击即时通信应用的图标之后,创建第一窗口,第一窗口是即时通信应用的首页,所述首页的示意图可参见图5中的(b)所示,那么,第一窗口的第一title可以是“畅连+首页”。可选的,每个窗口上可以显示该窗口对应的title,也可以不显示title。
其中,S5是可选步骤,WMS可以无需执行S5,可以通过SDK接口层来执行,参见S3的介绍。
S6、WMS确定第一窗口的第一位置坐标、面积。
当手机应用在手机上显示时,应用的窗口是占满全部显示区域的。当手机应用在大屏电子设备上显示时,应用的窗口可以不占满大屏设备的全部显示区域。以大屏电子设备是PC为例,显示区域较为充足,第一窗口不占满全部显示区域具有多种有益效果,比如,避免完全遮挡PC上当前正显示的内容,导致用户正在进行的工作任务中断;而且,以即时通信应用为例,打开该应用就全屏显示视觉上较为突兀,另一方面:一定程度上也可以保护用户的应用隐私,比如打开即时通信应用就全屏显示容易泄露隐私(比如联系人信息)。
其中,第一窗口的面积有多种方式确定,比如下述方式1或方式2。
方式1,根据预设的面积确定。所述预设面积可以小于显示屏的面积。其中,预设面积可以是出厂之前设置好的固定面积,或者,也可以是用户自定义的面积;第一窗口的面积等于或小于所述预设面积。
方式2,根据电子设备的显示屏面积确定。比如,假设电子设备显示屏的面积为:长a,宽b;则窗口的面积可以是:长c,宽d;其中,c/a=预设值1,d/b=预设值2。预设值1和/或预设值2小于1。也就是说,基于电子设备的显示屏面积按比例调整应用的窗口的面积,使得在不同的大屏电子设备上显示时,窗口的面积不同,适配性更强。
可选的,可以根据电子设备的姿态确定窗口的显示样式。
例如,WMS可以根据打开窗口时,平板电脑等电子设备是横屏还是竖屏状态来调整窗口的显示样式。比如,平板电脑为横屏状态,则不限制窗口的显示样式,窗口可以是横屏窗口也可以是竖屏窗口。若平板电脑是竖屏状态,则窗口是竖屏窗口。其中,横屏窗口可以理解为窗口的长大于宽,竖屏窗口可以理解为窗口的长小于宽。应理解,如果电子设备是台式电脑不存在横屏或竖屏显示的话,可以无需基于横屏或竖屏的状态调整第一窗口。
需要说明的是,上述步骤S4-S6的执行顺序本申请实施例不作限定。
S7、WMS建立第一窗口、第一title、第一任务栈之间的对应关系。
示例性的,所述对应关系可以参见下表1:
表1
窗口 | title | 任务栈 |
第一窗口 | 第一title | 第一任务栈 |
其中,S7是可选步骤,可以执行也可以不执行。所述对应关系用于WMS管理窗口时使用,具体将在后文实施例五中介绍。可以理解的是,上表1仅是作为所述对应关系的一种示例,所述对应关系还可以以其他形式来存储,不限定于表格形式。
本实施例中,S1-S7是打开第一窗口的过程,打开第二窗口的过程包括:S8-S14。
S8、输入设备驱动检测到用于打开应用的第二窗口的操作。
其中,用于打开应用的第二窗口的操作可以是作用在第一窗口内的操作,比如针对第一窗口的按钮的点击操作。比如,以图5中的(b)为例,电子设备显示第一窗口:即时通信应用的首页,该首页中包括与联系人A的聊天入口501、与联系人B的聊天入口502。所述用于打开第二窗口的操作可以是点击联系人A的聊天入口501的操作,或者,点击联系人B的聊天入口502的操作。如果所述操作是点击聊天入口501的操作,则第二窗口为与联系人A的聊天窗口,如果所述操作是点击聊天入口502的操作,则第二窗口是与联系人B的聊天窗口。
S9、输入设备驱动向应用层发送第二输入事件,第二输入事件可以包括所述用于打开第二窗口的操作的操作类型、操作事件、操作的位置坐标等。第二输入事件的介绍请参见前文第一输入事件的介绍,在此不重复赘述。
在一些实施例中,输入设备驱动向应用层发送第二输入事件可以包括:输入设备驱动向框架层发送第二输入事件。假设框架层确定第二输入事件的位置坐标对应的是聊天入口501时,且操作类型是点击操作,说明用户要打开与联系人A的聊天窗口,此时,框架层可以将第二输入事件分发给应用层中的即时通信应用。之后,即时通信应用可以响应第二输入事件,请求WMS创建第二窗口(与联系人A的聊天窗口),即下述步骤S10。
S10、应用层通过SDK接口层向WMS发送第二窗口创建请求,具体来说,S10包括S10a和S10b,其中,S10a是应用层向SDK接口层发送第二窗口创建请求,S10b是SDK接口层向WMS发送第二窗口创建请求。
类似于S3,SDK接口层除了具有第二窗口创建请求的转发功能之外,还可以具有确定第二窗口的第二title的功能,也就是说,下述步骤中的S13可以由SDK接口层执行,比如当SDK接口层接收到第二窗口创建请求后,确定第二窗口创建请求所请求创建的第二窗口的第二title。如果是由SDK接口层确定第二窗口的第二title,那么在S10b中SDK接口层向WMS发送的第二窗口创建请求中可以携带所述第二title,以通知WMS第二窗口的第二title,这样的话,WMS可以无需执行S13,所以图中S13用虚线表示。
S11、WMS在第二任务栈中创建第二窗口。
可以理解的是,在S11之前,还可以包括步骤:WMS建立第二任务栈。第二任务栈与第一任务栈不是同一个任务栈。以图6A中的(a)为例,检测到打开第二窗口的操作后,在第二任务栈中创建第二窗口。也就是说,第二窗口与第一窗口在不同的任务栈中。因此,本实施例中,WMS每接收到一个窗口创建请求,就建立一个新的任务栈,并在新建的任务栈中新建窗口。
S12、WMS确定第二窗口的第二位置坐标。
第二窗口的第二位置坐标可以与第一窗口的第一位置坐标不同,此时第二窗口不会完全覆盖第一窗口。比如,第一窗口和第二窗口包括重叠显示和平铺显示两种方式,其中,重叠显示可以是:参见图6A中的(a),第一窗口和第二窗口部分重叠,所以用户在显示屏上可以看到第一窗口的部分区域,以及第二窗口。平铺显示可以是:参见图6A中的(b),第一窗口和第二窗口没有重叠且第一窗口和第二窗口未占满全屏。
第二窗口的面积的确定方式也有多种,比如前文中所述的窗口的面积的确定方式,在此不重复描述。或者,第二窗口的面积默认与第一窗口的面积相同,比如,存在一种情况第一窗口的面积被用户手动调整,那么第二窗口的面积等于第一窗口调整后的面积。
S13、WMS确定第二窗口的第二title。
第二title可以与第一title不同,比如,假设图6A中的(a)中第一窗口是即时通信应用的首页,第一title可以是“畅连+首页”,假设图6A中的(a)中的第二窗口是即时通信应用中与联系人A的聊天窗口,第二title可以是“畅连+与联系人A聊天窗口”。当然,如果第二窗口是与联系人B的聊天窗口,第二title可以是“畅连+与联系人B的聊天窗口”。
以第一窗口是即使通信应用的首页、第二窗口是与联系人A的聊天窗口为例,第一窗口和第二窗口重叠显示的示例请参见图6B中的(a);第一窗口和第二窗口平铺显示的示例请参见图6B中的(b)。
可以理解的是,电子设备可以默认使用重叠显示或平铺显示,或者,提供一个切换按钮,通过该切换按钮实现重叠显示和平铺显示之间的切换,用户可以通过该切换按钮自行设置。
S14、WMS建立第二窗口、第二title、第二任务栈之间的对应关系。比如,该对应关系可以通过更新前文表1所示的表格而得,当然也可以新建与表1不同的表格,以更新表1为例,得到下表2:
表2
窗口 | title | 任务栈 |
第一窗口 | 第一title | 第一任务栈 |
第二窗口 | 第二title | 第二任务栈 |
可以理解的是,当应用关闭(比如退出应用)时,可以删除所述对应关系。
步骤S14是可选步骤,可以执行也可以不执行。所述对应关系用于WMS管理窗口时使用,具体将在后文实施例五中介绍。
在上面的实施例中,以应用的第一窗口是非全屏显示为例,如果第一窗口是全屏显示,打开第二窗口时,第一窗口和第二窗口的显示方式也可以包括重叠显示和平铺显示,参见图7所示。其中,重叠显示可以包括方式1和方式2两种显示方式:方式1:第一窗口仍然全屏显示,第二窗口在第一窗口上层显示;第二窗口的面积的确定方式可以参见前文第一窗口的面积确定方式,在此不重复赘述。方式2:第一窗口退出全屏(缩小),缩小后的第一窗口和第二窗口重叠显示。平铺显示是指:第一窗口退出全屏(缩小),缩小后的第一窗口与第二窗口平铺显示。其中,第一窗口退出全屏后的面积的确定方式可以参见前文第一窗口的面积确定方式,在此不重复赘述。
总结来说,实施例一中,每检测到一个窗口打开操作,就创建一个新的任务栈,在该任务栈中新建窗口,所以,每检测到一个窗口打开操作,显示屏上就多弹出一个新窗口。比如,显示屏上显示即时通信应用的第一窗口,检测到第二窗口的打开操作时,弹出第二窗口,此时显示屏上显示两个窗口,即第一窗口和第二窗口;当检测到第三窗口的打开操作时,弹出第三窗口,此时显示屏上显示三个窗口,即第一窗口、第二窗口和第三窗口。
实施例二
实施例二与实施例一的不同之处在于:实施例一中每检测到一个窗口打开操作就多弹出一个新窗口;实施例二中,每检测到一个窗口打开操作时,打开的新窗口会覆盖旧窗口;当检测到用于弹出新窗口的窗口弹出操作时,将新窗口弹出与旧窗口分别显示。
以图4所示的流程为例,实施例二与实施例一的具体区别在于:实施例一是S8之后立即执行S11,即检测到打开第二窗口的操作后立即在第二任务栈中创建第二窗口。本实施例二可以是在S10b之后,不立即执行S11,而是执行如下过程:
在第一任务栈中创建第二窗口。由于第一窗口已在第一任务栈中,所以第二窗口后入栈,位于第一窗口上层即覆盖第一窗口(可参见前文名词解释部分),例如,参见图8A中的(a)和(b)所示。
当检测到用于弹出第二窗口的操作后,将第一任务栈中的第二窗口关闭,第二窗口出栈,第一窗口恢复到第一任务栈的最上层,第一窗口显示;然后执行S11即创建第二任务栈,在第二任务栈中创建第二窗口,参加图8A中的(b)和(c)。可以理解的是,图8A以重叠显示为例,平铺显示是相同原理,不多赘述。
为了方便理解,可以对比实施例一涉及的图6A中的(a)与实施例二涉及的图8A,图6A中检测到用于打开第二窗口的操作后,直接在第二任务栈中创建第二窗口,而图8A中检测到用于打开第二窗口的操作后,先在第一任务栈中创建第二窗口,当检测到用于弹出第二窗口的操作时,关闭第一任务栈中的第二窗口,然后在第二任务栈中创建第二窗口。
举例来说,以图5中的(b)为例,第一窗口为即时通信应用的首页,假设检测到点击与联系人A的聊天入口501的操作,响应于该操作,建立第二窗口:与联系人A的聊天窗口,第二窗口覆盖第一窗口,请参见图8B中的(a)所示。如果电子设备检测到用于弹出第二窗口的弹出操作时,响应于该弹出操作,可以弹出第二窗口,以使第一窗口和第二窗口分别显示,参见图8B中的(b)所示。其中,第二窗口的弹出操作可以是针对第二窗口内的任意一点的长按并拖动的操作,当然,也可以是其它类型的操作,本申请实施例对此不作具体限定。
因此,本实施例二中,窗口弹出操作适用于:打开新窗口后新窗口覆盖旧窗口的场景,通过窗口弹出操作可以将新窗口弹出与旧窗口分别显示。可以理解的是,对于打开应用时显示的首个窗口,由于首个窗口没有覆盖任何旧窗口(栈中仅包括一个窗口),所以如果检测到用于弹出首个窗口的弹出操作的话,可以不弹出窗口;当然,也可以输出提示信息,该提示信息用于提示用户当前窗口是打开应用后的首个窗口。
如果实施例一中每检测到一个窗口打开操作就多弹出一个新窗口作为第一种窗口弹出方式,那么实施例二中通过窗口弹出操作弹出新窗口与旧窗口分别显示的方式可以作为第二种窗口弹出方式。电子设备可以默认使用第一种窗口弹出方式或第二种窗口弹出方式,或者,电子设备可以提供切换按钮,该切换按钮用于实现第一种窗口弹出方式或第二种窗口弹出方式之间的切换,用户可以自行设置任何一种方式。
在上面的实施例中,以第二窗口是从第一窗口(比如即时通信应用的首页)打开的聊天窗口为例。可以理解的是,第二窗口还可以是从第一窗口中打开的任意窗口。比如,以第一种窗口弹出方式为例,参见图5中的(b),电子设备检测到点击“动态”按钮的操作时,响应于该操作,打开第二窗口,这种情况下,第二窗口是动态窗口(或朋友圈窗口),参见图9A中的(a)所示。动态窗口中包括各个联系人发表的动态,比如联系人A发表的“新闻:XX市教育局部分学校信息”,再比如,联系人B发表的图像的缩略图。以联系人B发表的图像为例,当检测到针对缩略图的点击操作时,显示第三窗口,第三窗口包括联系人B发表的图像的放大图,参见图9A中的(b)所示,其中,第三窗口的面积确定方式可以参见前文中第一窗口的面积确定方式,在此不重复赘述。
上面的实施例中,以从第一窗口(比如即时通信应用的首页)打开聊天窗口为例。可以理解的是,还可以从其它窗口中打开聊天窗口。比如,参见图9B中的(a),电子设备收到新消息时,在第二窗口(动态窗口)中的状态栏中显示新消息。当检测到针对新消息的操作(比如点击操作)时,弹出第四窗口,第四窗口是与联系人A的聊天窗口,参见图9B(b),即从动态窗口中打开聊天窗口。
在上面的实施例中,以打开的多个窗口都是同一个应用,即,即时通信应用的窗口为例。在另一些实施例中,可以从一个应用的窗口中打开另一个应用的窗口。比如,以图9B中的(a)为例,当检测到针对联系人A发表的“新闻:XX市教育局部分学校信息”的操作时,响应于该操作,打开第五窗口,第五窗口是浏览器应用的窗口,参见图9C所示,第五窗口可以与第二窗口重叠显示或者平铺显示,或者,在显示屏上的任意位置显示,本申请实施例对此不作限定。
实施例三
在前面实施例二中已介绍两种弹出方式,即第一种窗口弹出方式和第二种窗口弹出方式。实施例三提供第三种窗口弹出方式,即基于窗口之间的关联关系判断是否弹出窗口的方式。因此,电子设备可以默认使用三种窗口弹出方式中的任意一种,或者,电子设备可以提供切换按钮,该切换按钮用于实现三种窗口弹出方式之间的切换,用户可以自行设置任何一种方式。
以图4所示的流程为例,本实施例三涉及的流程可以包括S1-S10b,S10-3,S11-S15,其中,S1-S10b,S11-S14请参见实施例一的介绍,下面主要介绍S10-3和S15。
S10-3,WMS判断第一窗口和第二窗口是否存在关联关系,如果第一窗口和第二窗口存在关联关系,执行S15,如果第一窗口和第二窗口不存在关联关系,执行S11至S14。
其中,第一窗口和第二窗口存在关联关系可以包括:在第一窗口打开第二窗口,但第一窗口的显示内容需要随第二窗口的显示结果而变化。比如,以购物应用为例,第一窗口是购物应用的首页,首页中包括一个显示区域,该显示区域中包括用户喜欢浏览的物品的清单。第二窗口是用于浏览物品的窗口。第二窗口的显示结果表征用户喜欢浏览的商品,需要在首页中的所述区域中显示,即第一窗口需要第二窗口的显示结果。
S15,在第一任务栈中建立第二窗口,第二窗口的位置坐标为第一位置坐标。也就是说,当第一窗口和第二窗口存在关联关系时,第一窗口和第二窗口在同一任务栈中,且位置坐标相同,所以第二窗口会覆盖第一窗口,显示屏上不再显示第一窗口。可选的,第二窗口的title可以与第一窗口相同或不同,不作限定。
参见图10(a)所示,从窗口A中打开窗口B时,由于窗口A与窗口B之间不存在关联关系,所以,窗口A和窗口B在不同的任务栈中,窗口B弹出与窗口A重叠显示。从窗口B中打开窗口C时,由于窗口C与窗口B存在关联关系,所以窗口C与窗口B在同一个任务栈中,窗口C覆盖掉窗口B,所以显示屏上不再显示窗口B,而是窗口C与窗口A重叠显示。
图10(a)是以重叠显示为例,可以理解的是,如前文所述,两个窗口还可以平铺显示,参见图10(b),从窗口A中打开窗口B时,由于窗口A与窗口B之间不存在关联关系,所以,窗口A和窗口B平铺显示。从窗口B中打开窗口C时,由于窗口C与窗口B存在关联关系,窗口C覆盖掉窗口B,所以显示屏上窗口C与窗口A平铺显示。
举例来说,以重叠显示为例,参见图11所示,从窗口A中打开窗口B,窗口A和窗口B不存在关联关系,所以窗口A和窗口B重叠显示。从窗口B中打开窗口C时,窗口B和窗口C存在关联关系,所以窗口C覆盖窗口B,显示屏上显示从窗口A和窗口B。
需要说明的是,以图10(a)为例,从窗口B中打开窗口C之后,WMS可以更新上述对应关系,比如更新后的对应关系如下表3:
表3;
其中,第二任务栈中包括窗口B和窗口C,并且所述对应关系中还指示窗口B和窗口C之间的层次关系,窗口C在第二任务栈中的第1层,即距离用户最近的一层,窗口B在第二任务栈中的第2层,相对于第1层,第2层距离用户较远,被窗口C遮挡。上述对应关系可以用于确定可复用的窗口,具体在实施例四中介绍。
实施例四
考虑到一种情况:在实施例三中存在关联关系的两个窗口在同一个任务栈中,其中的一个窗口会被覆盖掉。以图10中的(a)为例,窗口C和窗口B在同一个任务栈中,窗口B被覆盖掉。此时,如果在窗口A中再次打开窗口B的话,由于窗口A和窗口B不存在关联关系,那么需要新建立一个第三任务栈,在第三任务栈中建立窗口B,参见图12所示。显然,窗口B其实已经创建过,如果再创建一个窗口B的话,那么曾经创建的窗口B就没有合理利用。因此,本实施例四中,WMS在创建一个窗口之前,还可以判断是否存在可复用的窗口,如果存在,那么复用该窗口。
具体而言,以图4所示的流程为例,本实施例四可以包括S1-S16其中,S1-S10b,S11-S14参见实施例一,S10-3、S15参见实施例二,下面主要介绍S10-1和S10-2。
S10-1,WMS判断第二窗口创建请求中是否携带复用请求;如果是,执行S10-2,如果否,执行S11至S14。
S10-1是可选步骤,可以执行也可以不执行,如果不执行,那么WMS接收到第二窗口创建请求之后,就默认判断该应用的所有栈中是否存在可复用的窗口;如果执行,那么在第二窗口创建请求中携带复用标记的情况下才判断是否存在可复用的窗口,否则不执行判断是否存在可复用的窗口的步骤。
第一种可行方案为,第二窗口创建请求中默认携带复用标记,该复用标记用于指示复用窗口。可以理解的是,除了打开应用时产生的第一个窗口创建请求(即第一窗口创建请求)之外,在应用打开之后产生的任何窗口创建请求中都可以携带复用标记,这样可以避免存在可复用的窗口但仍然新建窗口,浪费资源。应理解,应用层或SDK接口层可以确定第二窗口创建请求所请求创建的第二窗口的第二title。因此,第二窗口创建请求中还可以携带要复用的第二窗口的第二title。
第二种可行方案为,区别于上述第一种方案,第二窗口创建请求中不会默认携带复用标记。具体来说,应用层或SDK接口层确定第二窗口创建请求所请求创建的第二窗口的第二title之后,还可以读取窗口、任务栈、title之间的对应关系比如上述表3,基于该对应关系判断第二title是否存在于所述对应关系中,如果存在,那么SDK接口层向WMS中第二窗口创建请求中添加复用标记,以及要复用的第二窗口的第二title。
S10-2,WMS判断该应用的所有栈中是否存在可复用的窗口,如果是,执行S16,如果否,执行S11至S14。
其中,WMS判断该应用的所有栈中是否存在可复用的窗口的方式为:在对应关系比如上表3中确定是否存在第二窗口的第二title,如果存在,则确定存在可复用的窗口,如果不存在,则确定不存在可复用的窗口。
S16,WMS确定复用窗口所在的任务栈,并将该复用窗口上的所有窗口全部finisih掉,以使复用窗口显示出来。
比如,参见图13A中的(a),第二任务栈中包括窗口B和窗口C,对应关系例如上述表3,如果从窗口A中打开窗口B,且携带有复用标记和窗口B的title,那么WMS将第二任务栈中的窗口B的上层窗口即窗口C结束,以使窗口B显示出来,参见图13A(b)。
举例来说,以图11中的(c)为例,当检测到从窗口A中打开窗口B的操作时,由于窗口B曾经创建过,可以复用窗口B,那么窗口B上层的窗口C被停掉,所以显示屏上显示窗口A和窗口B,参见图13B所示。
值得说明的是,实施例四可以是在实施例一的基础上(具体为前述S10b之后,S11之前),增加步骤S10-1和S10-2,其中不包含S10-3,这种情况下,S10-1中判断第二窗口创建请求中没有携带复用标识时,执行S11。S10-2中判断应用的所有栈中不存在可复用的窗口时,执行S11。或者,实施例四也可以是在实施例三的基础上(具体为前述S10b之后,S10-3之前)增加步骤S10-1和S10-2,其中包含S10-3,这种情况下,S10-1中判断第二窗口创建请求中没有携带复用标识时,可以执行S10-3。S10-2中判断应用的所有栈中不存在可复用的窗口时,可以执行S10-3。
在上面的实施例中,以应用打开两个窗口或者三个窗口为例。可以理解的是,一个应用可以打开更多个窗口。以平铺显示为例,每打开一个窗口时,新窗口默认与已打开的窗口平铺显示,但是存在一种情况:显示空间不足无法满足新窗口与已打开的窗口平铺显示。比如,参见图14(a),显示屏上显示窗口A和窗口B,此时,如果从窗口B中打开窗口C,显然显示屏上剩余空间不足够放置窗口C,所以无法继续平铺显示。这种情况下,窗口C可以以重叠显示的方式在窗口A上重叠显示,参见图14(b)。此时,如果从窗口C中打开窗口D,可以默认将窗口D与窗口C平铺显示。图14所示的例子中,以先平铺在显示空间不足够时再重叠为例,可以理解的是,还可以先重叠显示在显示空间不足够时再平铺显示。
实施例五
实施例五包括实施例一的内容,在实施例一的基础上(具体为前述S14之后),还可以包括窗口的管理流程,具体是图15中的步骤S17至S26。其中,S17-S21为调整窗口的位置或大小的步骤,S22-S26为关闭窗口的步骤。
S17、输入设备驱动检测到窗口调整操作,该操作用于调整窗口的位置或大小。
以图16为例,窗口调整操作可以是点击第二窗口并拖动的操作,该操作用于调整第二窗口的位置;或者,窗口调整操作可以是点击第二窗口的窗口边缘并拖动的操作,该操作用于调整第二窗口的大小。
S18、输入设备驱动向应用层发送第三输入事件,该第三输入事件包括所述窗口调整操作的操作类型、操作时间、位置坐标等。
S19、应用层通过SDK接口层向WMS发送窗口调整请求,具体来说,S19包括S19a和S19b,S19a是应用层将窗口调整请求发送给SDK接口层,S19b是SDK接口层将窗口调整请求发送给WMS。
S20、WMS确定title对应的窗口所在的任务栈。
如前面的实施例一中,WMS建立窗口、任务栈与title之间的对应关系,比如上述表2。因此,WMS接收到窗口调整请求之后,基于窗口调整请求中的title确定对应的任务栈。
S21、WMS调整任务栈的位置或大小。
可以理解的是,如果窗口调整请求是用于请求调整窗口的位置的话,那么WMS调整任务栈的位置,如果窗口调整请求是用于请求调整窗口的大小的话,那么WMS调整任务栈的大小。以图16为例,用户点击第二窗口并拖动,调整第二窗口的位置;或者,用户点击第二窗口的窗口边缘并拖动,调整第二窗口的大小。
S22、输入设备驱动检测到窗口关闭操作,所述窗口关闭操作用于关闭窗口。
以图16为例,窗口关闭操作可以是点击第二窗口中的“关闭”按钮的操作,该操作用于关闭第二窗口。
S23、输入设备驱动向应用层发送第四输入事件,第四输入事件包括所述窗口关闭操作的操作类型、操作时间、位置坐标等。
S24、应用层通过SDK接口层向WMS发送窗口关闭请求,具体来说,S24包括S24a和S24b,S24a是应用层将窗口关闭请求发送给SDK接口层,S24b是SDK接口层将窗口关闭请求发送给WMS。
可以理解的是,应用层可以基于第四输入事件中的位置坐标确定第四输入事件是用于关闭哪一个窗口的,所以,应用层产生的窗口调整请求中可以携带待关闭的目标窗口的title。
S25、WMS确定title对应的窗口所在的任务栈。
S26、WMS关闭任务栈或关闭任务栈中最上层的窗口。
以图10(a)为例,假设title对应的窗口所在的任务栈是第二任务栈,可以关闭第二任务栈,即关闭第二任务栈中的所有窗口,或者,也可以关闭第二任务栈中最上层的窗口即窗口C。
需要说明的是,本申请中第一窗口和第二窗口分别显示的方式与分屏显示不同。
以第一窗口和第二窗口平铺显示为例,参见图16所示,平铺显示满足如下特征:
1、第一窗口和第二窗口没有占满全部显示屏。
2、第一窗口和第二窗口是独立的两个窗口,每个窗口可以单独管理(放大或缩小或改变位置)。
但是,参见图17所示,第一窗口和第二窗口分屏显示时满足的特征包括如下:
1、分屏显示的两个窗口占满显示屏的全部可显示区域,参见图17中的(a)所示。
2、分屏显示的两个窗口是联动的。所述联动包括,1)、两个窗口中任意一个窗口在被放大或缩小的过程中,另一个窗口的面积也发生改变,比如,参见图17中的(b),第一窗口被缩小的同时第二窗口被放大。总之,无论两个窗口的面积如何调整,两个窗口始终占满全部可显示区域。2)、两个窗口中的任意一个窗口被关闭,那么另一个窗口会占满全部可显示区域,比如,参见图17(c),第二窗口被关闭之后,第一窗口占满全部可显示区域。
通过以上描述可知,在本申请实施例中,手机应用被安装在大屏电子设备后,应用可以多窗口显示,利用大屏的优势,提升手机应用在大屏设备上的交互体验。而且,多窗口可单独管理(比如图16),对于具备鼠标或键盘等输入设备的大屏电子设备(比如台式电脑)交互体验更好。而且,对于手机应用的开发商而言,无需为手机应用单独开发一套为了适配大屏设备的软件。
上述本申请提供的实施例中,从电子设备(例如PC)作为执行主体的角度对本申请实施例提供的方法进行了介绍。为了实现上述本申请实施例提供的方法中的各功能,电子设备可以包括硬件结构和/或软件模块,以硬件结构、软件模块、或硬件结构加软件模块的形式来实现上述各功能。上述各功能中的某个功能以硬件结构、软件模块、还是硬件结构加软件模块的方式来执行,取决于技术方案的特定应用和设计约束条件。
以上实施例中所用,根据上下文,术语“当…时”或“当…后”可以被解释为意思是“如果…”或“在…后”或“响应于确定…”或“响应于检测到…”。类似地,根据上下文,短语“在确定…时”或“如果检测到(所陈述的条件或事件)”可以被解释为意思是“如果确定…”或“响应于确定…”或“在检测到(所陈述的条件或事件)时”或“响应于检测到(所陈述的条件或事件)”。另外,在上述实施例中,使用诸如第一、第二之类的关系术语来区份一个实体和另一个实体,而并不限制这些实体之间的任何实际的关系和顺序。
在本说明书中描述的参考“一个实施例”或“一些实施例”等意味着在本申请的一个或多个实施例中包括结合该实施例描述的特定特征、结构或特点。由此,在本说明书中的不同之处出现的语句“在一个实施例中”、“在一些实施例中”、“在其他一些实施例中”、“在另外一些实施例中”等不是必然都参考相同的实施例,而是意味着“一个或多个但不是所有的实施例”,除非是以其他方式另外特别强调。术语“包括”、“包含”、“具有”及它们的变形都意味着“包括但不限于”,除非是以其他方式另外特别强调。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。在不冲突的情况下,以上各实施例的方案都可以组合使用。
需要指出的是,本专利申请文件的一部分包含受著作权保护的内容。除了对专利局的专利文件或记录的专利文档内容制作副本以外,著作权人保留著作权。
Claims (17)
1.一种应用窗口显示方法,应用于电子设备,其特征在于,所述电子设备安装有第一应用,所述第一应用被配置为,显示所述第一应用的第一窗口时,若打开所述第一应用的第二窗口,所述第二窗口完全覆盖所述第一窗口显示,所述方法包括:
在第一任务栈中创建所述第一窗口以显示所述第一窗口;
响应于打开第二窗口的第一操作,判断所述第二窗口与所述第一窗口是否相关联,若所述第二窗口与所述第一窗口不相关联,在第二任务栈中创建所述第二窗口以显示所述第二窗口;其中,所述第二窗口与所述第一窗口不相关联,包括:所述第二窗口的显示内容不随所述第一窗口的显示结果的变化而变化;或者,
响应于打开第二窗口的第一操作,在所述第一任务栈中创建所述第二窗口,所述第二窗口位于所述第一窗口的上层;
响应于弹出所述第二窗口的第二操作,判断所述第二窗口和所述第一窗口是否相关联,若所述第二窗口和所述第一窗口相关联,则在第二任务栈中创建所述第二窗口以显示所述第二窗口,并关闭所述第一任务栈中的所述第二窗口;其中,所述第二窗口和所述第一窗口相关联,包括:所述第二窗口的显示内容需要随所述第一窗口的显示结果的变化而变化;
其中,所述第二任务栈与所述第一任务栈不同。
2.如权利要求1所述的方法,其特征在于,在所述第二任务栈中创建所述第二窗口之前,所述方法还包括:
确定已创建的任务栈中不包括所述第二窗口。
3.如权利要求2所述的方法,其特征在于,若已创建的任务栈中包括所述第二窗口,所述方法还包括:
关闭所述已创建的任务栈中,位于所述第二窗口上层的至少一个窗口,以显示所述第二窗口。
4.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
接收用户对目标窗口的第三操作,所述第三操作用于改变窗口的显示位置或显示面积;
响应于所述第三操作,确定所述目标窗口所在的任务栈,改变所述目标窗口所在的任务栈的显示位置或显示面积。
5.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
接收用户对目标窗口的第四操作,所述第四操作用于关闭窗口;
响应于所述第四操作,关闭所述目标窗口。
6.如权利要求5所述的方法,其特征在于,关闭目标窗口,包括:
关闭目标窗口所在的任务栈中的所有窗口,或
关闭目标窗口所在的任务栈中的最上层窗口。
7.如权利要求1-3任一项所述的方法,其特征在于,所述方法还包括:
确定所述第一窗口的第一title;所述第一title包括所述第一应用的应用名和所述第一窗口的窗口名;
确定所述第二窗口的第二title;所述第二title包括所述第一应用的应用名和所述第二窗口的窗口名;
在所述第一窗口中显示所述第一title,在所述第二窗口中显示所述第二title。
8.如权利要求1-3任一项所述的方法,其特征在于,
所述第一操作为作用于所述第一窗口中的点击操作;
所述第二操作为作用于所述第二窗口中长按和拖动操作。
9.一种电子设备,其特征在于,包括:
一个或多个处理器;
一个或多个存储器;
其中,所述电子设备安装有第一应用,所述第一应用被配置为,显示所述第一应用的第一窗口时,若打开所述第一应用的第二窗口,所述第二窗口完全覆盖所述第一窗口显示,
其中,所述一个或多个存储器存储有一个或多个计算机程序,所述一个或多个计算机程序包括指令,当所述指令被所述一个或多个处理器执行时,使得所述电子设备执行以下步骤:
在第一任务栈中创建所述第一窗口以显示所述第一窗口;
响应于打开第二窗口的第一操作,判断所述第二窗口与所述第一窗口是否相关联,若所述第二窗口与所述第一窗口不相关联,在第二任务栈中创建所述第二窗口以显示所述第二窗口;其中,所述第二窗口与所述第一窗口不相关联,包括:所述第二窗口的显示内容不随所述第一窗口的显示结果的变化而变化;或者,
响应于打开第二窗口的第一操作,在所述第一任务栈中创建所述第二窗口,所述第二窗口位于所述第一窗口的上层;
响应于弹出所述第二窗口的第二操作,判断所述第二窗口和所述第一窗口是否相关联,若所述第二窗口和所述第一窗口相关联,则在第二任务栈中创建所述第二窗口以显示所述第二窗口,并关闭所述第一任务栈中的所述第二窗口;其中,所述第二窗口和所述第一窗口相关联,包括:所述第二窗口的显示内容需要随所述第一窗口的显示结果的变化而变化;
其中,所述第二任务栈与所述第一任务栈不同。
10.如权利要求9所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
确定已创建的任务栈中不包括所述第二窗口。
11.如权利要求10所述的电子设备,其特征在于,若已创建的任务栈中包括所述第二窗口,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
关闭所述已创建的任务栈中,位于所述第二窗口上层的至少一个窗口,以显示所述第二窗口。
12.如权利要求9-11任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
接收用户对目标窗口的第三操作,所述第三操作用于改变窗口的显示位置或显示面积;
响应于所述第三操作,确定所述目标窗口所在的任务栈,改变所述目标窗口所在的任务栈的显示位置或显示面积。
13.如权利要求9-11任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
接收用户对目标窗口的第四操作,所述第四操作用于关闭窗口;
响应于所述第四操作,关闭所述目标窗口。
14.如权利要求13所述的电子设备,其特征在于,关闭目标窗口,包括:
关闭目标窗口所在的任务栈中的所有窗口,或
关闭目标窗口所在的任务栈中的最上层窗口。
15.如权利要求9-11任一项所述的电子设备,其特征在于,当所述指令被所述一个或多个处理器执行时,使得所述电子设备还执行以下步骤:
确定所述第一窗口的第一title;所述第一title包括所述第一应用的应用名和所述第一窗口的窗口名;
确定所述第二窗口的第二title;所述第二title包括所述第一应用的应用名和所述第二窗口的窗口名;
在所述第一窗口中显示所述第一title,在所述第二窗口中显示所述第二title。
16.如权利要求9-11任一项所述的电子设备,其特征在于,
所述第一操作为作用于所述第一窗口中的点击操作;
所述第二操作为作用于所述第二窗口中长按和拖动操作。
17.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质包括计算机程序,当计算机程序在电子设备上运行时,使得所述电子设备执行如权利要求1至8任一所述的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885419.5A CN114115618B (zh) | 2020-08-28 | 2020-08-28 | 一种应用窗口显示方法与电子设备 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010885419.5A CN114115618B (zh) | 2020-08-28 | 2020-08-28 | 一种应用窗口显示方法与电子设备 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114115618A CN114115618A (zh) | 2022-03-01 |
CN114115618B true CN114115618B (zh) | 2022-12-09 |
Family
ID=80374976
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010885419.5A Active CN114115618B (zh) | 2020-08-28 | 2020-08-28 | 一种应用窗口显示方法与电子设备 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114115618B (zh) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN117008772A (zh) * | 2022-04-28 | 2023-11-07 | 华为技术有限公司 | 一种应用窗口的显示方法及电子设备 |
CN116737037A (zh) * | 2022-09-29 | 2023-09-12 | 荣耀终端有限公司 | 界面显示中的栈管理方法及相关装置 |
CN118012299A (zh) * | 2022-11-10 | 2024-05-10 | 华为终端有限公司 | 显示方法、电子设备以及介质 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291456A (zh) * | 2017-06-06 | 2017-10-24 | 福州汇思博信息技术有限公司 | 一种多屏显示的控制方法及系统 |
CN107832113A (zh) * | 2017-10-26 | 2018-03-23 | 青岛海信移动通信技术股份有限公司 | 一种Android系统应用程序的界面显示方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9213365B2 (en) * | 2010-10-01 | 2015-12-15 | Z124 | Method and system for viewing stacked screen displays using gestures |
CN108027706B (zh) * | 2016-08-31 | 2020-10-09 | 华为技术有限公司 | 一种应用界面显示方法以及终端设备 |
WO2018126957A1 (zh) * | 2017-01-04 | 2018-07-12 | 北京极维科技有限公司 | 显示虚拟现实画面的方法和虚拟现实设备 |
CN106959879B (zh) * | 2017-03-31 | 2020-08-25 | 联想(北京)有限公司 | 一种控制方法及电子设备 |
CN107273111A (zh) * | 2017-05-03 | 2017-10-20 | 深圳市金立通信设备有限公司 | 一种分屏显示方法及终端 |
-
2020
- 2020-08-28 CN CN202010885419.5A patent/CN114115618B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107291456A (zh) * | 2017-06-06 | 2017-10-24 | 福州汇思博信息技术有限公司 | 一种多屏显示的控制方法及系统 |
CN107832113A (zh) * | 2017-10-26 | 2018-03-23 | 青岛海信移动通信技术股份有限公司 | 一种Android系统应用程序的界面显示方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN114115618A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN110471639B (zh) | 显示方法及相关装置 | |
EP3872807B1 (en) | Voice control method and electronic device | |
CN114397979B (zh) | 一种应用显示方法及电子设备 | |
CN110839096B (zh) | 一种具有折叠屏的设备的触控方法与折叠屏设备 | |
WO2021063074A1 (zh) | 一种分屏显示方法与电子设备 | |
WO2021063097A1 (zh) | 一种显示方法及电子设备 | |
WO2021057868A1 (zh) | 一种界面切换方法及电子设备 | |
CN114115618B (zh) | 一种应用窗口显示方法与电子设备 | |
WO2021023030A1 (zh) | 一种消息显示方法与电子设备 | |
WO2021063090A1 (zh) | 一种建立应用组合的方法与电子设备 | |
WO2020259461A1 (zh) | 一种显示方法与电子设备 | |
CN110673783B (zh) | 一种触控方法与电子设备 | |
EP4283454A1 (en) | Card widget display method, graphical user interface, and related apparatus | |
WO2022057512A1 (zh) | 分屏方法、装置及电子设备 | |
WO2022068819A1 (zh) | 一种界面显示方法及相关装置 | |
WO2018227495A1 (zh) | 电子设备及其处理方法 | |
WO2023088459A1 (zh) | 设备协同方法及相关装置 | |
US20230236714A1 (en) | Cross-Device Desktop Management Method, First Electronic Device, and Second Electronic Device | |
CN115801943A (zh) | 显示方法、电子设备及存储介质 | |
WO2020228735A1 (zh) | 一种显示应用的方法及电子设备 | |
CN114237529A (zh) | 一种导航栏显示方法、显示方法与第一电子设备 | |
WO2023138305A1 (zh) | 卡片显示方法、电子设备及计算机可读存储介质 | |
CN114363454A (zh) | 一种历史页面的打开方法、相关设备及计算机存储介质 | |
WO2023078088A1 (zh) | 一种显示方法及电子设备 | |
CN114244951B (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 |