CN116954409A - 应用的显示方法、装置及存储介质 - Google Patents

应用的显示方法、装置及存储介质 Download PDF

Info

Publication number
CN116954409A
CN116954409A CN202210410815.1A CN202210410815A CN116954409A CN 116954409 A CN116954409 A CN 116954409A CN 202210410815 A CN202210410815 A CN 202210410815A CN 116954409 A CN116954409 A CN 116954409A
Authority
CN
China
Prior art keywords
layer
application
target application
target
floating window
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.)
Pending
Application number
CN202210410815.1A
Other languages
English (en)
Inventor
刘�文
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN202210410815.1A priority Critical patent/CN116954409A/zh
Priority to PCT/CN2023/087337 priority patent/WO2023202407A1/zh
Publication of CN116954409A publication Critical patent/CN116954409A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input 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/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

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

本申请涉及终端技术领域,特别涉及一种应用的显示方法、装置及存储介质。所述方法用于电子设备中,所述方法包括:接收第一触发指令,第一触发指令用于触发目标应用以悬浮窗模式显示;建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸;显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层。本申请实施例将应用内容和标题栏放在不同的图层上,使得悬浮窗的标题栏和应用内容进行解耦合,实现了空间上的隔离,可以解决应用内容和标题栏相互遮挡的问题,大大提高了悬浮窗的显示效果。

Description

应用的显示方法、装置及存储介质
技术领域
本申请涉及终端技术领域,特别涉及一种应用的显示方法、装置及存储介质。
背景技术
在终端的使用场景或者投屏场景下,大部分应用的设计初衷是没有考虑悬浮窗场景,导致产生了很多与标题栏相关的兼容性问题,如图1所示,标题栏被应用内容遮挡是很典型的一个问题。
相关技术中,终端显示某个应用的悬浮窗,该悬浮窗的标题栏在视图(英文:View)树中所处的层级如图2所示,该应用的应用窗口11包括装饰视图12(英文:Décor View),装饰视图12是该应用的根视图,是所有视图的容器;自由格式标题视图13(英文:Free FormCaption View)是标题视图14(英文:Caption View)和内容视图15(英文:Content View)的父容器;标题视图14是标题栏的载体,其中包括可点击的按钮;内容视图15是应用内容的载体。其中,应用的标题视图14和内容视图15为同一个图层中层级相同的两个视图,同为自由格式标题视图13的子视图。由于标题视图14位于应用进程空间,占据在应用顶部位置,对于部分兼容不好的应用可能会出现应用内容和标题栏相互遮挡的问题。相关技术中尚未提供一种合理且有效的技术方案。
发明内容
有鉴于此,本申请实施例提出了一种应用的显示方法、装置及存储介质,通过将应用内容和标题栏放在不同的图层上,使得悬浮窗的标题栏和应用内容进行解耦合,实现了空间上的隔离,可以解决应用内容和标题栏相互遮挡的问题,大大提高了悬浮窗的显示效果。
第一方面,本申请的实施例提供了一种应用的显示方法,用于电子设备中,所述方法包括:
接收第一触发指令,所述第一触发指令用于触发目标应用以悬浮窗模式显示;
建立所述目标应用的标题栏的第一图层,所述第一图层与所述目标应用的应用内容的第二图层为不同的两个图层,所述第一图层为所述第二图层的下级图层,所述第一图层的尺寸大于所述第二图层的尺寸;
显示所述目标应用的悬浮窗,所述悬浮窗包括所述第一图层和所述第二图层。
在该实现方式中,通过接收用于触发目标应用以悬浮窗模式显示的第一触发指令,建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸,从而显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层;其中,标题栏的第一图层与应用内容的第二图层为不同的两个图层,即将应用内容和标题栏放在不同的图层上,使得悬浮窗的标题栏和应用内容进行解耦合,实现了空间上的隔离,可以解决应用内容和标题栏相互遮挡的问题,大大提高了悬浮窗的显示效果。
在一种可能的实现方式中,所述显示所述目标应用的悬浮窗之前,还包括:
将所述第一图层与所述第二图层进行绑定,绑定后所述悬浮窗的目标区域显示有目标控件,所述目标区域为所述第一图层中与所述第二图层不重叠的区域,所述目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
在该实现方式中,通过将第一图层与第二图层进行绑定,第一图层的尺寸大于第二图层的尺寸,因此绑定后第一图层中存在与第二图层不重叠的区域即目标区域,在悬浮窗的目标区域上显示标题栏的目标控件,目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个,从而保证悬浮窗的标题栏的功能实现。
在另一种可能的实现方式中,所述方法还包括:
在接收到所述目标应用对应的开启指令的情况下,建立所述目标应用的基础活动和所述基础活动的应用内容对应的基础图层;所述基础图层为所述第二图层。
在另一种可能的实现方式中,所述将所述第一图层与所述第二图层进行绑定,包括:
通过重定父级方式将所述第一图层与所述基础图层进行绑定。
在该实现方式中,通过在接收到目标应用对应的开启指令的情况下,建立目标应用的基础活动和基础活动的应用内容对应的基础图层,通过重定父级方式将第一图层与基础图层进行绑定,使得第一图层与基础图层存在绑定关系,保证后续图层响应鼠标事件(比如移动事件)时的显示效果。
在另一种可能的实现方式中,所述方法还包括:
在检测到所述目标应用的上层活动被开启的情况下,建立所述上层活动的应用内容对应的上层图层,所述上层活动是除所述基础活动以外的其他层级的活动;
保持显示所述标题栏的所述第一图层不变,隐藏显示所述基础图层,并显示所述上层图层。
在该实现方式中,通过在检测到目标应用的上层活动被开启的情况下,建立上层活动的应用内容对应的上层图层,保持显示标题栏的第一图层不变,隐藏显示基础图层,并显示上层图层,在解决悬浮窗场景的兼容性问题的同时,实现上层图层的正常显示。
在另一种可能的实现方式中,所述建立所述上层活动的应用内容对应的上层图层之后,还包括:
将所述第一图层与所述基础图层解除绑定,并将所述第一图层与所述上层图层进行绑定。
在该实现方式中,通过将第一图层与基础图层解除绑定,并将第一图层与上层图层进行绑定,从而保证第一图层的生命周期与目标应用的应用内容的图层的生命周期是一致的。
在另一种可能的实现方式中,所述显示所述目标应用的悬浮窗之后,还包括:
在接收到用于最小化所述悬浮窗的最小化指令的情况下,隐藏显示所述第一图层和所述应用内容的各个图层。
在该实现方式中,通过在接收到用于最小化悬浮窗的最小化指令的情况下,隐藏显示第一图层和应用内容的各个图层,进一步保证了悬浮窗场景下的用户界面显示效果。
在另一种可能的实现方式中,所述最小化指令包括作用于所述第一图层的最小化按钮上的操作触发的指令。
在该实现方式中,通过在接收到作用于第一图层的最小化按钮上的操作触发的指令的情况下,执行后续的隐藏显示第一图层和应用内容的各个图层的步骤,保证了悬浮窗场景下标题栏能够正常响应预设的鼠标事件即作用于第一图层的最小化按钮上的操作触发的指令。
在另一种可能的实现方式中,所述显示所述目标应用的悬浮窗之后,还包括:
在检测到所述目标应用被关闭的情况下,取消显示所述第一图层和所述应用内容的各个图层,和/或销毁所述第一图层和所述应用内容的各个图层。
在该实现方式中,通过在检测到目标应用被关闭的情况下,取消显示第一图层和应用内容的各个图层,和/或销毁第一图层和应用内容的各个图层,进一步保证了第一图层的生命周期与和应用内容的图层的生命周期是一致的。
在另一种可能的实现方式中,所述目标应用的应用内容为所述目标应用在屏幕上同时显示的至少两个窗口的应用内容,所述第二图层的尺寸为所述至少两个窗口的总体窗口尺寸。
在该实现方式中,本申请实施例提供的应用的显示方法还可以应用于多窗口显示场景,多窗口显示场景为目标应用在屏幕上同时显示的至少两个窗口场景。在多窗口显示场景中,第二图层的尺寸为至少两个窗口的总体窗口尺寸,即标题栏的第一图层的尺寸大于至少两个窗口的总体窗口尺寸,从而避免在多窗口显示场景中应用内容和标题栏相互遮挡的情况,保证了多窗口显示场景中悬浮窗的标题栏的显示效果。
在另一种可能的实现方式中,所述方法还包括:
为所述第一图层注册鼠标监听事件,所述鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个;
在检测到指定鼠标事件的情况下,通过窗口管理服务(Window Manager Service,WMS) 将所述指定鼠标事件派发至所述第一图层,所述指定鼠标事件包括所述鼠标监听事件中的至少一个,所述第一图层用于处理所述指定鼠标事件对应的标题栏业务。
在该实现方式中,针对标题栏的第一图层维护一套鼠标监听事件,在检测到指定鼠标事件的情况下,通过窗口管理服务将指定鼠标事件派发至第一图层,以使得第一图层处理指定鼠标事件对应的标题栏业务,避免了相关技术中的图层本身无法响应鼠标事件的情况,保证了标题栏正常响应鼠标事件,并且能实现各种用户界面显示效果。
在另一种可能的实现方式中,所述第二图层中包括装饰视图,所述装饰视图是内容视图的父容器,所述内容视图是所述目标应用的应用内容的载体。
在该实现方式中,第二图层中包括装饰视图,装饰视图是内容视图的父容器,内容视图是目标应用的应用内容的载体,避免了相关技术中应用的标题视图和内容视图为同一个图层中层级相同的两个视图的情况,使得标题栏的第一图层与应用内容的内容视图所属的第二图层为不同的两个图层,即将应用内容和标题栏放在不同的图层上,实现了空间上的隔离,解决了与标题栏相关的兼容性问题。
第二方面,本申请的实施例提供了一种应用的显示装置,用于电子设备中,所述装置包括:
接收单元,用于接收第一触发指令,所述第一触发指令用于触发目标应用以悬浮窗模式显示;
建立单元,用于建立所述目标应用的标题栏的第一图层,所述第一图层与所述目标应用的应用内容的第二图层为不同的两个图层,所述第一图层为所述第二图层的下级图层,所述第一图层的尺寸大于所述第二图层的尺寸;
显示单元,用于显示所述目标应用的悬浮窗,所述悬浮窗包括所述第一图层和所述第二图层。
在一种可能的实现方式中,所述装置还包括:
绑定单元,用于将所述第一图层与所述第二图层进行绑定,绑定后所述悬浮窗的目标区域显示有目标控件,所述目标区域为所述第一图层中与所述第二图层不重叠的区域,所述目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
在另一种可能的实现方式中,所述装置还包括:
所述建立单元,还用于在接收到所述目标应用对应的开启指令的情况下,建立所述目标应用的基础活动和所述基础活动的应用内容对应的基础图层;所述基础图层为所述第二图层。
在另一种可能的实现方式中,所述绑定单元,还用于通过重定父级方式将所述第一图层与所述基础图层进行绑定。
在另一种可能的实现方式中,所述装置还包括:
所述建立单元,还用于在检测到所述目标应用的上层活动被开启的情况下,建立所述上层活动的应用内容对应的上层图层,所述上层活动是除所述基础活动以外的其他层级的活动;
所述显示单元,还用于保持显示所述标题栏的所述第一图层不变,隐藏显示所述基础图层,并显示所述上层图层。
在另一种可能的实现方式中,所述装置,还包括:
所述绑定单元,还用于将所述第一图层与所述基础图层解除绑定,并将所述第一图层与所述上层图层进行绑定。
在另一种可能的实现方式中,所述装置,还包括:
隐藏显示单元,用于在接收到用于最小化所述悬浮窗的最小化指令的情况下,隐藏显示所述第一图层和所述应用内容的各个图层。
在另一种可能的实现方式中,所述最小化指令包括作用于所述第一图层的最小化按钮上的操作触发的指令。
在另一种可能的实现方式中,所述装置,还包括:
取消显示单元,用于在检测到所述目标应用被关闭的情况下,取消显示所述第一图层和所述应用内容的各个图层,和/或销毁所述第一图层和所述应用内容的各个图层。
在另一种可能的实现方式中,所述目标应用的应用内容为所述目标应用在屏幕上同时显示的至少两个窗口的应用内容,所述第二图层的尺寸为所述至少两个窗口的总体窗口尺寸。
在另一种可能的实现方式中,所述装置还包括:
注册单元,用于为所述第一图层注册鼠标监听事件,所述鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个;
派发单元,用于在检测到指定鼠标事件的情况下,通过窗口管理服务将所述指定鼠标事件派发至所述第一图层,所述指定鼠标事件包括所述鼠标监听事件中的至少一个,所述第一图层用于处理所述指定鼠标事件对应的标题栏业务。
在另一种可能的实现方式中,所述第二图层中包括装饰视图,所述装饰视图是内容视图的父容器,所述内容视图是所述目标应用的应用内容的载体。
第三方面,本申请的实施例提供了一种应用的显示装置,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述指令时,使得所述显示装置实现上述的方法。
第四方面,本申请的实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现上述的方法。
第五方面,本申请的实施例提供了一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,所述计算机执行上述的方法。
第六方面,本申请的实施例提供了一种电子设备,所述电子设备包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述指令时,使得所述电子设备实现上述的方法。
附图说明
图1示出了相关技术中标题栏被应用内容遮挡的场景的示意图。
图2示出了相关技术中悬浮窗的标题栏在视图树中所处的层级的示意图。
图3示出了本申请一个示例性实施例提供的电子设备的结构示意图。
图4示出了本申请一个示例性实施例提供的电子设备的软件结构框图。
图5示出了本申请一个示例性实施例提供的应用的显示方法的流程图。
图6示出了本申请一个示例性实施例提供的悬浮窗对应的视图树中的层级关系的示意图。
图7示出了本申请另一个示例性实施例提供的悬浮窗对应的视图树中的层级关系的示意图。
图8示出了本申请另一个示例性实施例提供的应用的显示方法的流程图。
图9示出了本申请一个示例性实施例提供的应用的显示方法的原理示意图。
图10示出了本申请一个示例性实施例提供的第一图层与第二图层之间的绑定方式的示意图。
图11示出了本申请另一个示例性实施例提供的第一图层与第二图层之间的绑定方式的示意图。
图12示出了本申请一个示例性实施例提供的应用的显示装置的框图。
具体实施方式
在这里专用的词“示例性”意为“用作例子、实施例或说明性”。这里作为“示例性”所说明的任何实施例不必解释为优于或好于其它实施例。
另外,为了更好的说明本申请,在下文的具体实施方式中给出了众多的具体细节。本领域技术人员应当理解,没有某些具体细节,本申请同样可以实施。在一些实例中,对于本领域技术人员熟知的方法、手段、元件和电路未作详细描述,以便于凸显本申请的主旨。
为了解决上述技术问题,本申请提供了一种应用的显示方法,本申请实施例的应用的显示方法可以应用于电子设备,通过将应用内容和标题栏放在不同的图层上,使得悬浮窗的标题栏和应用内容进行解耦合,实现了空间上的隔离,可以解决应用内容和标题栏相互遮挡的问题,大大提高了应用的显示效果。
本申请实施例提供的应用的显示方法可以应用于多种使用场景,多种使用场景包括但不限于:电子设备本地显示悬浮窗的场景,或者电子设备投屏显示悬浮窗(即投屏至其它显示器,其它显示器显示悬浮窗)的场景。
本申请实施例涉及的电子设备可以是触屏的、也可以是非触屏的、也可以是没有屏幕的,触屏的可以通过手指、触控笔等在显示屏幕上点击、滑动等方式对电子设备进行控制,非触屏的设备可以连接鼠标、键盘、触控面板等输入设备,通过输入设备对电子设备进行控制,没有屏幕的设备比如说可以是没有屏幕的蓝牙音箱等。可选的,电子设备为支持投屏功能的设备。
举例来说,本申请实施例的电子设备可以是智能手机、上网本、平板电脑、笔记本电脑、可穿戴电子设备(如智能手环、智能手表等)、TV、虚拟现实设备、音响、电子墨水,等等。
图3示出了本申请一个示例性实施例提供的电子设备的结构示意图。以电子设备是手机为例,图3示出了手机200的结构示意图。
手机200可以包括处理器210,外部存储器接口220,内部存储器221,通用串行总线(Universal Serial Bus,USB)接口230,充电管理模块240,电源管理模块241,电池242,天线1,天线2,移动通信模块251,无线通信模块252,音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,传感器模块280,按键290,马达291,指示器292,摄像头293,显示屏294,以及SIM卡接口295等。其中传感器模块280可以包括陀螺仪传感器280A,加速度传感器280B,接近光传感器280G、指纹传感器280H,触摸传感器280K (当然,手机200还可以包括其它传感器,比如温度传感器,压力传感器、距离传感器、磁传感器、环境光传感器、气压传感器、骨传导传感器等,图中未示出)。
可以理解的是,本申请实施例示意的结构并不构成对手机200的具体限定。在本申请另一些实施例中,手机200可以包括比图示更多或更少的部件,或者组合某些部件,或者拆分某些部件,或者不同的部件布置。图示的部件可以以硬件,软件或软件和硬件的组合实现。
处理器210可以包括一个或多个处理单元,例如:处理器210可以包括应用处理器(application processor,AP),调制解调处理器,图形处理器(graphics processingunit,GPU),图像信号处理器(image signal processor,ISP),控制器,存储器,视频编解码器,数字信号处理器(digital signal processor,DSP),基带处理器,和/或神经网络处理器(Neural-network Processing Unit,NPU)等。其中,不同的处理单元可以是独立的器件,也可以集成在一个或多个处理器中。其中,控制器可以是手机200的神经中枢和指挥中心。控制器可以根据指令操作码和时序信号,产生操作控制信号,完成取指令和执行指令的控制。
处理器210中还可以设置存储器,用于存储指令和数据。在一些实施例中,处理器210 中的存储器为高速缓冲存储器。该存储器可以保存处理器210刚用过或循环使用的指令或数据。如果处理器210需要再次使用该指令或数据,可从所述存储器中直接调用。避免了重复存取,减少了处理器210的等待时间,因而提高了系统的效率。
处理器210可以运行本申请实施例提供的应用的显示方法,以便于解决应用内容和标题栏相互遮挡的问题,大大提高了应用的显示效果。处理器210可以包括不同的器件,比如集成CPU和GPU时,CPU和GPU可以配合执行本申请实施例提供的应用的显示方法,比如应用的显示方法中部分算法由CPU执行,另一部分算法由GPU执行,以得到较快的处理效率。
显示屏294用于显示图像,视频等。显示屏294包括显示面板。显示面板可以采用液晶显示屏(liquid crystal display,LCD),有机发光二极管(organic light-emittingdiode,OLED),有源矩阵有机发光二极体或主动矩阵有机发光二极体(active-matrixorganic light emitting diode 的,AMOLED),柔性发光二极管(flex light-emittingdiode,FLED),Miniled,MicroLed, Micro-oLed,量子点发光二极管(quantum dot lightemitting diodes,QLED)等。在一些实施例中,手机200可以包括1个或N个显示屏294,N为大于1的正整数。显示屏294可用于显示由用户输入的信息或提供给用户的信息以及各种图形用户界面(graphical user interface, GUI)。例如,显示器294可以显示照片、视频、网页、或者文件等。再例如,显示器294可以显示图形用户界面。其中,图形用户界面上包括状态栏、可隐藏的导航栏、时间和天气小组件(widget)、以及应用的图标,例如浏览器图标等。状态栏中包括运营商名称(例如中国移动)、移动网络(例如4G)、时间和剩余电量。导航栏中包括后退(back)键图标、主屏幕 (home)键图标和前进键图标。此外,可以理解的是,在一些实施例中,状态栏中还可以包括蓝牙图标、Wi-Fi图标、外接设备图标等。还可以理解的是,在另一些实施例中,图形用户界面中还可以包括Dock栏,Dock栏中可以包括常用的应用图标等。当处理器210检测到用户的手指(或触控笔等)针对某一应用图标的触摸事件后,响应于该触摸事件,打开与该应用图标对应的应用的用户界面,并在显示器294上显示该应用的用户界面。
在本申请实施例中,显示屏294可以是一个一体的柔性显示屏,也可以采用两个刚性屏以及位于两个刚性屏之间的一个柔性屏组成的拼接显示屏。
当处理器210运行本申请实施例提供的应用的显示方法后,电子设备可以根据本申请实施例提供的应用的显示方法控制显示屏294显示相应的图形用户界面。
摄像头293(前置摄像头或者后置摄像头,或者一个摄像头既可作为前置摄像头,也可作为后置摄像头)用于捕获静态图像或视频。通常,摄像头293可以包括感光元件比如镜头组和图像传感器,其中,镜头组包括多个透镜(凸透镜或凹透镜),用于采集待拍摄物体反射的光信号,并将采集的光信号传递给图像传感器。图像传感器根据所述光信号生成待拍摄物体的原始图像。
内部存储器221可以用于存储计算机可执行程序代码,所述可执行程序代码包括指令。处理器210通过运行存储在内部存储器221的指令,从而执行手机200的各种功能应用以及数据处理。内部存储器221可以包括存储程序区和存储数据区。其中,存储程序区可存储操作系统,应用程序(比如相机应用,微信应用等)的代码等。存储数据区可存储手机200使用过程中所创建的数据(比如相机应用采集的图像、视频等)等。
内部存储器221还可以存储本申请实施例提供的应用的显示方法对应的一个或多个计算机程序。该一个或多个计算机程序被存储在上述存储器221中并被配置为被该一个或多个处理器210执行,该一个或多个计算机程序包括指令,上述指令可以用于执行本申请实施例中的各个步骤,该计算机程序可以包括接收单元51、建立单元52以及显示单元53。其中,接收单元51,用于接收第一触发指令,第一触发指令用于触发目标应用以悬浮窗模式显示。建立单元52,用于建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸。显示单元53,用于显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层。
此外,内部存储器221可以包括高速随机存取存储器,还可以包括非易失性存储器,例如至少一个磁盘存储器件,闪存器件,通用闪存存储器(universal flash storage,UFS)等。
当然,本申请实施例提供的应用的显示方法的代码还可以存储在外部存储器中。这种情况下,处理器210可以通过外部存储器接口220运行存储在外部存储器中的应用的显示方法的代码。
下面介绍传感器模块280的功能。
陀螺仪传感器280A,可以用于确定手机200的运动姿态。在一些实施例中,可以通过陀螺仪传感器280A确定手机200围绕三个轴(即,x,y和z轴)的角速度。即陀螺仪传感器280A 可以用于检测手机200当前的运动状态,比如抖动还是静止。
当本申请实施例中的显示屏为可折叠屏时,陀螺仪传感器280A可用于检测作用于显示屏294上的折叠或者展开操作。陀螺仪传感器280A可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
加速度传感器280B可检测手机200在各个方向上(一般为三轴)加速度的大小。即陀螺仪传感器280A可以用于检测手机200当前的运动状态,比如抖动还是静止。当本申请实施例中的显示屏为可折叠屏时,加速度传感器280B可用于检测作用于显示屏294上的折叠或者展开操作。加速度传感器280B可以将检测到的折叠操作或者展开操作作为事件上报给处理器210,以确定显示屏294的折叠状态或展开状态。
接近光传感器280G可以包括例如发光二极管(LED)和光检测器,例如光电二极管。发光二极管可以是红外发光二极管。手机通过发光二极管向外发射红外光。手机使用光电二极管检测来自附近物体的红外反射光。当检测到充分的反射光时,可以确定手机附近有物体。当检测到不充分的反射光时,手机可以确定手机附近没有物体。当本申请实施例中的显示屏为可折叠屏时,接近光传感器280G可以设置在可折叠的显示屏294的第一屏上,接近光传感器280G可根据红外信号的光程差来检测第一屏与第二屏的折叠角度或者展开角度的大小。
陀螺仪传感器280A(或加速度传感器280B)可以将检测到的运动状态信息(比如角速度)发送给处理器210。处理器210基于运动状态信息确定当前是手持状态还是脚架状态(比如,角速度不为0时,说明手机200处于手持状态)。
指纹传感器280H用于采集指纹。手机200可以利用采集的指纹特性实现指纹解锁,访问应用锁,指纹拍照,指纹接听来电等。
触摸传感器280K,也称“触控面板”。触摸传感器280K可以设置于显示屏294,由触摸传感器280K与显示屏294组成触摸屏,也称“触控屏”。触摸传感器280K用于检测作用于其上或附近的触摸操作。触摸传感器可以将检测到的触摸操作传递给应用处理器,以确定触摸事件类型。可以通过显示屏294提供与触摸操作相关的视觉输出。在另一些实施例中,触摸传感器280K也可以设置于手机200的表面,与显示屏294所处的位置不同。
示例性的,手机200的显示屏294显示主界面,主界面中包括多个应用(比如相机应用、微信应用等)的图标。用户通过触摸传感器280K点击主界面中相机应用的图标,触发处理器210启动相机应用,打开摄像头293。显示屏294显示相机应用的界面,例如取景界面。
手机200的无线通信功能可以通过天线1,天线2,移动通信模块251,无线通信模块252,调制解调处理器以及基带处理器等实现。
天线1和天线2用于发射和接收电磁波信号。手机200中的每个天线可用于覆盖单个或多个通信频带。不同的天线还可以复用,以提高天线的利用率。例如:可以将天线1复用为无线局域网的分集天线。在另外一些实施例中,天线可以和调谐开关结合使用。
移动通信模块251可以提供应用在手机200上的包括2G/3G/4G/5G等无线通信的解决方案。移动通信模块251可以包括至少一个滤波器,开关,功率放大器,低噪声放大器(lownoise amplifier,LNA)等。移动通信模块251可以由天线1接收电磁波,并对接收的电磁波进行滤波,放大等处理,传送至调制解调处理器进行解调。移动通信模块251还可以对经调制解调处理器调制后的信号放大,经天线1转为电磁波辐射出去。在一些实施例中,移动通信模块251的至少部分功能模块可以被设置于处理器210中。在一些实施例中,移动通信模块251 的至少部分功能模块可以与处理器210的至少部分模块被设置在同一个器件中。
调制解调处理器可以包括调制器和解调器。其中,调制器用于将待发送的低频基带信号调制成中高频信号。解调器用于将接收的电磁波信号解调为低频基带信号。随后解调器将解调得到的低频基带信号传送至基带处理器处理。低频基带信号经基带处理器处理后,被传递给应用处理器。应用处理器通过音频设备(不限于扬声器270A,受话器270B等)输出声音信号,或通过显示屏294显示图像或视频。在一些实施例中,调制解调处理器可以是独立的器件。在另一些实施例中,调制解调处理器可以独立于处理器210,与移动通信模块251或其他功能模块设置在同一个器件中。
无线通信模块252可以提供应用在手机200上的包括无线局域网(wireless localarea networks,WLAN)(如无线保真(wireless fidelity,Wi-Fi)网络),蓝牙(bluetooth,BT),全球导航卫星系统(global navigation satellite system,GNSS),调频(frequencymodulation,FM),近距离无线通信技术(near field communication,NFC),红外技术(infrared,IR)等无线通信的解决方案。无线通信模块252可以是集成至少一个通信处理模块的一个或多个器件。无线通信模块252经由天线2接收电磁波,将电磁波信号调频以及滤波处理,将处理后的信号发送到处理器210。无线通信模块252还可以从处理器210接收待发送的信号,对其进行调频,放大,经天线2转为电磁波辐射出去。无线通信模块252,用于在处理器210的控制下与其他电子设备之间传输数据,比如,处理器210可以控制无线通信模块252向其他电子设备发送数据,还可以接收其他电子设备发送的数据。
另外,手机200可以通过音频模块270,扬声器270A,受话器270B,麦克风270C,耳机接口270D,以及应用处理器等实现音频功能。例如音乐播放,录音等。手机200可以接收按键290输入,产生与手机200的用户设置以及功能控制有关的键信号输入。手机200可以利用马达291产生振动提示(比如来电振动提示)。手机200中的指示器292可以是指示灯,可以用于指示充电状态,电量变化,也可以用于指示消息,未接来电,通知等。手机200中的SIM卡接口295用于连接SIM卡。SIM卡可以通过插入SIM卡接口295,或从SIM卡接口295拔出,实现和手机200的接触和分离。
应理解,在实际应用中,手机200可以包括比图3所示的更多或更少的部件,本申请实施例不作限定。图示手机200仅是一个范例,并且手机200可以具有比图中所示出的更多的或者更少的部件,可以组合两个或更多的部件,或者可以具有不同的部件配置。图中所示出的各种部件可以在包括一个或多个信号处理和/或专用集成电路在内的硬件、软件、或硬件和软件的组合中实现。
电子设备的软件系统可以采用分层架构,事件驱动架构,微核架构,微服务架构,或云架构。本申请实施例以分层架构的Android系统为例,示例性说明电子设备的软件结构。
图4示出了本申请一个示例性实施例提供的电子设备的软件结构框图。
分层架构将软件分成若干个层,每一层都有清晰的角色和分工。层与层之间通过软件接口通信。在一些实施例中,将Android系统分为四层,从上至下分别为应用程序层,应用程序框架层,安卓运行时(Android runtime)和系统库,以及内核层。
应用程序层可以包括一系列应用程序包。
如图4所示,应用程序包可以包括电话、相机,图库,日历,通话,地图,导航,WLAN,蓝牙,音乐,视频,短信息等应用程序。
应用程序框架层为应用程序层的应用程序提供应用编程接口(applicationprogramming interface,API)和编程框架。应用程序框架层包括一些预先定义的函数。
如图4所示,应用程序框架层可以包括窗口管理器,内容提供器,视图系统,电话管理器,资源管理器,通知管理器等。
窗口管理器用于管理窗口程序。窗口管理器可以获取显示屏大小,判断是否有状态栏,锁定屏幕,截取屏幕等。
内容提供器用来存放和获取数据,并使这些数据可以被应用程序访问。所述数据可以包括视频,图像,音频,拨打和接听的电话,浏览历史和书签,电话簿等。
视图系统包括可视控件,例如显示文字的控件,显示图片的控件等。视图系统可用于构建应用程序。显示界面可以由一个或多个视图组成的。例如,包括短信通知图标的显示界面,可以包括显示文字的视图以及显示图片的视图。
电话管理器用于提供电子设备的通信功能。例如通话状态的管理(包括接通,挂断等)。
资源管理器为应用程序提供各种资源,比如本地化字符串,图标,图片,布局文件,视频文件等等。
通知管理器使应用程序可以在状态栏中显示通知信息,可以用于传达告知类型的消息,可以短暂停留后自动消失,无需用户交互。比如通知管理器被用于告知下载完成,消息提醒等。通知管理器还可以是以图表或者滚动条文本形式出现在系统顶部状态栏的通知,例如后台运行的应用程序的通知,还可以是以对话窗口形式出现在屏幕上的通知。例如在状态栏提示文本信息,发出提示音,电子设备振动,指示灯闪烁等。
Android Runtime包括核心库和虚拟机。Android runtime负责安卓系统的调度和管理。
核心库包含两部分:一部分是java语言需要调用的功能函数,另一部分是安卓的核心库。
应用程序层和应用程序框架层运行在虚拟机中。虚拟机将应用程序层和应用程序框架层的java文件执行为二进制文件。虚拟机用于执行对象生命周期的管理,堆栈管理,线程管理,安全和异常的管理,以及垃圾回收等功能。
系统库可以包括多个功能模块。例如:表面管理器(surface manager),媒体库(Media Libraries),三维图形处理库(例如:OpenGL ES),2D图形引擎(例如:SGL)等。
表面管理器用于对显示子系统进行管理,并且为多个应用程序提供了2D和3D图层的融合。
媒体库支持多种常用的音频,视频格式回放和录制,以及静态图像文件等。媒体库可以支持多种音视频编码格式,例如:MPEG4,H.264,MP3,AAC,AMR,JPG,PNG等。
三维图形处理库用于实现三维图形绘图,图像渲染,合成,和图层处理等。
2D图形引擎是2D绘图的绘图引擎。
内核层是硬件和软件之间的层。内核层至少包含显示驱动,摄像头驱动,音频驱动,传感器驱动。
下面,采用几个示例性实施例对本申请提供的应用的显示方法进行介绍。
请参考图5,其示出了本申请一个示例性实施例提供的应用的显示方法的流程图,该方法可以用于如图3或图4所示的电子设备中。该方法包括以下几个步骤。
步骤501,接收第一触发指令,第一触发指令用于触发目标应用以悬浮窗模式显示。
可选的,电子设备显示目标应用的第一用户界面,第一用户界面上显示有悬浮窗控件;电子设备接收第一触发指令,第一触发指令为作用于悬浮窗控件上的触发指令。
可选的,目标应用为电子设备中运行的任意一种应用。比如,目标应用为社交应用、音频应用、视频应用等。
可选的,第一用户界面是目标应用的原生页面,第一用户界面包括目标应用的主界面或者目标应用的主界面的下级界面。
可选的,悬浮窗控件是用于触发目标应用以悬浮窗模式显示的可操作控件。示意性的,悬浮窗控件的类型包括按钮、可操控的条目、滑块中的至少一种。
第一触发指令为目标应用以悬浮窗模式显示的用户操作信号。示意性的,第一触发指令包括点击操作信号、滑动操作信号、按压操作信号、长按操作信号中的任意一种或多种的组合。在其它可能的实现方式中,第一触发指令也可以语音形式实现。本申请实施例对此不加以限定。
可选的,本申请各实施例中所述的悬浮窗模式可以为应用的应用界面以窗口形式悬浮显示在当前屏幕上的模式;或者,也可以为应用窗口非全屏显示、且需要显示该应用窗口的标题栏的模式。当某一应用的应用界面以窗口形式悬浮显示在屏幕上时,本申请实施例将该窗口称为悬浮窗。悬浮窗可以自由移动和放大缩小。
步骤502,建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸。
可选的,在接收到第一触发指令的情况下,电子设备建立目标应用的标题栏的第一图层。
可选的,在检测到目标应用的活动被开启的情况下,电子设备建立该活动的应用内容的第二图层。第二图层可以是目标应用的基础活动的应用内容对应的图层,也可以是目标应用的上层活动的应用内容对应的图层,上层活动是除基础活动以外的其他层级的活动
需要说明的是,建立第一图层的步骤和建立第二图层的步骤可以分先后顺序执行,也可以同时执行顺序,本申请实施例对建立第一图层和建立第二图层的执行顺序不加以限定。
第一图层为标题栏对应的图层,即第一图层为标题栏的载体,第一图层中不包括应用内容的元素。可选的,第一图层包括标题栏的目标控件,目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
第二图层为应用内容对应的图层,即第二图层为应用内容的载体,第二图层中不包括标题栏的元素。可选的,第二图层中包括装饰视图,装饰视图是内容视图的父容器,内容视图是目标应用的应用内容的载体。
其中,第一图层与第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸。
步骤503,显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层。
可选的,在建立目标应用的标题栏的第一图层后,电子设备根据第一图层和第二图层,显示目标应用的悬浮窗,即电子设备显示第一图层,并在第一图层上叠加显示第二图层,第二图层为第一图层的上级图层。
在一个示意性的例子中,如图6所示,其示出了本申请一个示例性实施例提供的悬浮窗对应的视图树中的层级关系的示意图。目标应用的悬浮窗包括标题栏的第一图层61和应用窗口的第二图层62,第一图层61是标题栏的载体,其中包括可点击的按钮(比如最大化按钮和关闭按钮);第二图层62为第一图层61的上级图层,第二图层62中包括装饰视图622,装饰视图622是内容视图623的父容器,内容视图623是该目标应用的应用内容的载体。
可选的,本申请实施例提供的应用的显示方法还可以应用于多窗口显示场景,多窗口显示场景为目标应用在屏幕上同时显示的至少两个窗口场景。多窗口显示场景还可以是多窗口的投屏场景。在多窗口显示场景中,上述的目标应用的应用内容为目标应用在屏幕上同时显示的至少两个窗口的应用内容,第二图层的尺寸为至少两个窗口的总体窗口尺寸。
在一个示意性的例子中,如图7所示,其示出了本申请另一个示例性实施例提供的悬浮窗对应的视图树中的层级关系的示意图。在多窗口显示场景中,目标应用的悬浮窗包括标题栏的第一图层71、目标应用的窗口1的第二图层72和目标应用的窗口2的第二图层73,第一图层71是标题栏的载体,其中包括可点击的按钮(比如最大化按钮和关闭按钮);第二图层72和第二图层73均为第一图层71的上级图层,第二图层72中包括装饰视图722,装饰视图722是内容视图723的父容器,内容视图723是窗口1的应用内容的载体;第二图层73 中包括装饰视图732,装饰视图732是内容视图733的父容器,内容视图733是窗口2的应用内容的载体。
综上所述,本申请实施例通过接收用于触发目标应用以悬浮窗模式显示的第一触发指令,建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层的尺寸大于第二图层的尺寸,从而显示目标应用的悬浮窗,悬浮窗包括第一图层和在第一图层上叠加显示的第二图层;其中,标题栏的第一图层与应用内容的第二图层为不同的两个图层,即将应用内容和标题栏放在不同的图层上,使得悬浮窗的标题栏和应用内容进行解耦合,实现了空间上的隔离,可以解决应用内容和标题栏相互遮挡的问题,大大提高了悬浮窗的显示效果。
相关技术中,由于标题视图位于应用进程空间,占据在应用顶部位置,对于部分兼容不好的应用可能会出现应用内容和标题栏相互遮挡的问题。并且,应用可能会消费掉该区域的点击事件,导致标题栏无法正常点击。并且,标题视图作为顶层的视图,下方还有许多低层级的视图的背景色会遮挡,无法实现标题栏透明到桌面的功能。并且,内容视图和标题视图的左右下方的边框效果无法很好实现。并且,在相关技术中的多窗口显示场景中,以多窗口显示场景为同时显示两个窗口为例,两个窗口对应不同的活动,具有两个不同的标题视图,相关技术中是通过隐藏一个窗口的标题栏中的控件实现类似归一化的效果,但实际上并未真正实现标题栏的归一化。另外在设置窗口投影时会出现一个窗口的窗口投影会覆盖另一个窗口的应用内容的问题。
上述相关技术中存在很多的兼容性问题,如应用内容和标题栏相互遮挡、标题栏事件被拦截、多窗口显示场景中应用无法归一化标题栏和窗口投影、用户界面显示效果不佳。以电子设备为手机为例,悬浮窗场景只是辅助使用场景,但是在投屏场景下,悬浮窗是主要使用场景,其诸多的兼容问题会严重影响到设备显示效果。
本申请实施例提供了一种基于图层的方案实现了悬浮窗标题栏的功能,在技术层次上将悬浮窗的标题栏和应用内容进行解耦合,功能上可实现标题栏和应用内容在视图层次、空间位置、鼠标事件相互隔离不影响,并且提高了设备显示效果。以及对于支持多窗口显示场景的应用,在应用单窗口或者双窗口展开情况下,能实现标题栏的功能和窗口投影的归一化。
请参考图8,其示出了本申请另一个示例性实施例提供的应用的显示方法的流程图,该方法可以用于如图3或图4所示的电子设备中。该方法包括以下几个步骤。
步骤801,建立目标应用的标题栏的第一图层,并与目标应用的应用内容的第二图层进行绑定。
可选的,在接收到用于触发目标应用以悬浮窗模式显示的第一触发指令后,电子设备建立目标应用的标题栏的第一图层。第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸。
需要说明的是,电子设备建立标题栏的第一图层的相关细节可参考上述实施例中的相关描述,在此不再赘述。
其中,应用内容的第二图层可以是基础活动的应用内容对应的基础图层。在一种可能的实现方式中,在接收到目标应用对应的开启指令的情况下,电子设备建立目标应用的基础活动和基础活动的应用内容对应的基础图层;在接收到用于触发目标应用以悬浮窗模式显示的第一触发指令后,建立目标应用的标题栏的第一图层;通过重定父级方式将第一图层与基础图层进行绑定。
可选的,目标应用的标题栏具有全局的唯一性,一个目标应用建立一个标题栏的第一图层,即标题栏的第一图层与目标应用存在一一对应的关系。在将第一图层与基础图层进行绑定后,标题栏的第一图层的生命周期与基础活动的基础图层的生命周期是一致的。
可选的,在接收到目标应用对应的开启指令的情况下,电子设备建立基础活动。在接收到用于触发目标应用以悬浮窗模式显示的第一触发指令后,在基础活动的应用窗口令牌(英文:AppWindowToke)中建立标题栏的第一图层,并将第一图层绑定到该应用窗口令牌的图层控制(英文:SurfaceControl)上。
可选的,在检测到目标应用的上层活动被开启的情况下,电子设备建立上层活动的应用内容对应的上层图层,上层活动是除基础活动以外的其他层级的活动;保持显示标题栏的第一图层不变,隐藏显示基础图层,并显示上层图层。
在一种可能的实现方式中,电子设备建立上层活动的应用内容对应的上层图层之后,将第一图层与基础图层解除绑定,并将第一图层与上层图层进行绑定。
在另一种可能的实现方式中,在目标应用的上层活动(比如第n层活动,n为大于1的正整数)被打开时,标题栏的第一图层无需进行改变。即在目标应用的运行过程中,保持标题栏的第一图层与目标应用的基础图层之间的绑定关系不变,目标应用的上层图层不再与第一图层进行绑定。示意性的,如图9所示,目标应用开启后,电子设备建立基础活动的图层91。在接收到第一触发指令后,电子设备建立目标应用的标题栏的第一图层92,第一图层92为基础活动的图层91的下级图层,第一图层92的尺寸大于基础活动的图层91的尺寸。在检测到目标应用的第二层活动被开启的情况下,在基础活动的图层91的基础上建立第二层活动的图层93,基础活动的图层91为第二层活动的图层93的下级图层,以此类推,目标应用的顶层活动的图层94位于最上层。
可选的,电子设备在第一图层上绘制标题栏的目标元素。示意性的,电子设备获取第一图层的画布(比如canvas);通过画布的绘画方式在第一图层上绘制目标元素,目标元素包括标题栏的目标控件、窗口边框和投影元素中的至少一种。标题栏的目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
需要说明的是,在第一图层上绘制标题栏的目标元素的步骤与将第一图层与第二图层进行绑定的步骤可以分先后顺序执行(比如先绘制再绑定,又比如先绑定再绘制),也可以同时执行,本申请对此不加以限定。
在一个示意性的例子中,如图10所示,在接收到目标应用对应的开启指令的情况下,电子设备建立基础活动以及对应的应用内容的第二图层,第二图层的尺寸为:2341dp*1124dp。在接收到用于触发目标应用以悬浮窗模式显示的第一触发指令后,电子设备建立目标应用的标题栏的第一图层,第一图层为第二图层的下级图层,第一图层的尺寸为:2373dp*1132dp,即第一图层的尺寸大于第二图层的尺寸。电子设备通过重定父级方式将第一图层与基础图层进行绑定,并在第一图层上绘制标题栏的目标控件(图中仅示例性以目标控件为关闭按钮为例进行说明)。
在另一个示意性的例子中,如图11所示,在多窗口显示场景(仅以电子设备同时显示两个窗口为例进行说明)中,电子设备建立目标应用的窗口1的第二图层和窗口2的第二图层,这两个窗口的总体窗口尺寸为:2341dp*1124dp。在接收到用于触发目标应用以悬浮窗模式显示的第一触发指令后,电子设备建立目标应用的标题栏的第一图层,第一图层为这两个第二图层的下级图层,第一图层的尺寸为:2373dp*1132dp,即第一图层的尺寸大于这两个窗口的总体窗口尺寸。电子设备通过重定父级方式将第一图层与这两个第二图层进行绑定,并在第一图层上绘制标题栏的目标控件(图中仅示例性以目标控件为关闭按钮为例进行说明)。
步骤802,为第一图层注册鼠标监听事件,鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个。
相关技术中的图层本身无法响应鼠标事件,为此本申请实施例针对标题栏的第一图层维护一套鼠标监听事件。可选的,电子设备为第一图层注册鼠标监听事件,鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个。
示意性的,按下事件为对目标控件执行按下操作的事件,弹起事件为对目标控件执行弹起操作的事件,移动事件为对目标控件执行移动操作的事件。其中,目标控件为第一图层上显示的标题栏的控件,目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
需要说明的是,在第一图层上绘制标题栏的目标元素的步骤与为第一图层注册鼠标监听事件的步骤可以分先后顺序执行(比如先绘制再注册,又比如先注册再绘制),也可以同时执行,本申请对此不加以限定。
步骤803,显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层。
可选的,电子设备在将第一图层与第二图层进行绑定后,根据第一图层和第二图层显示目标应用的悬浮窗,即电子设备显示第一图层,并在第一图层上叠加显示第二图层,第二图层为第一图层的上级图层。
由于第一图层的尺寸大于第二图层的尺寸,因此第一图层中存在与第二图层不重叠的区域即目标区域,该悬浮窗的目标区域显示有目标控件,目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
步骤804,在检测到指定鼠标事件的情况下,通过窗口管理服务将指定鼠标事件派发至第一图层,指定鼠标事件包括鼠标监听事件中的至少一个,第一图层用于处理指定鼠标事件对应的标题栏业务。
可选的,电子设备显示目标应用的悬浮窗后,实时对鼠标监听事件进行监听。在检测到指定鼠标事件的情况下,采用事件驱动机制通过窗口管理服务将指定鼠标事件派发至第一图层,指定鼠标事件包括鼠标监听事件中的至少一个。
在一个示意性的例子中,电子设备显示目标应用的悬浮窗,该悬浮窗的标题栏中显示有最小化按钮、最大化按钮和关闭按钮。电子设备在依次检测到按下事件(比如Action_Down) 和弹起事件(比如Action_Up)且这两个事件均作用于最大化按钮,则调用窗口管理服务侧的能力进行事件派发,从而通过第一图层将目标应用的应用模式切换为全屏模式。
在另一个示意性的例子中,电子设备显示目标应用的悬浮窗,该悬浮窗的标题栏中显示有最小化按钮、最大化按钮和关闭按钮。电子设备在依次检测到按下事件(比如Action_Down) 和移动事件(比如ActionMove)、且按下事件作用于标题栏的空白处时,调用窗口管理服务侧的能力进行事件派发,从而通过第一图层改变目标应用的应用的显示位置,实现了目标应用的拖拽功能。
可选的,电子设备在接收到用于最小化悬浮窗的最小化指令的情况下,隐藏显示第一图层和应用内容的各个图层。示意性的,最小化指令包括作用于第一图层的最小化按钮上的操作触发的指令。比如,最小化指令包括作用于第一图层的最小化按钮上的点击操作信号。
可选的,电子设备在检测到目标应用被关闭的情况下,取消显示第一图层和应用内容的各个图层,和/或销毁第一图层和应用内容的各个图层。也就是说,电子设备在检测到目标应用被关闭的情况下,取消显示第一图层和应用内容的各个图层。或者,电子设备在检测到目标应用被关闭的情况下,取消显示第一图层和应用内容的各个图层,并销毁第一图层和应用内容的各个图层。或者,电子设备在检测到目标应用被关闭的情况下,销毁第一图层和应用内容的各个图层。
综上所述,本申请实施例提供了一种新的应用的显示方案,对原生标题栏框架进行调整,以实现标题栏与应用内容的解耦,解决悬浮窗场景的兼容性问题并能实现各种用户界面显示效果。以电子设备为手机为例,对于手机本地显示悬浮小窗或者在大屏投屏场景下显示小窗口时,通过本申请实施例提供的方案实现标题栏与应用内容解耦,解决了相关技术中标题栏和应用内容相互遮挡,标题栏无法响应鼠标事件、多窗口显示场景中标题栏不统一、窗口投影异常、进入沉浸式上方镂空等兼容性问题,并且能实现各种用户界面显示效果。也就是说,一方面,实现标题栏从应用进程空间的解耦,应用内容和标题栏将放在不同的图层上,实现空间上的隔离,可解决了相关技术中应用内容和标题栏相互遮挡,点击或者触摸事件相互拦截的问题;另一方面,实现了多窗口显示场景中标题栏的归一化以及窗口投影正常显示;另一方面,应用从悬浮窗进入全屏模式后,由于标题栏不占位置应用空间,使得模式切换后具有更好的兼容性,解决相关技术中部分应用在模式切换后上方布局镂空的问题;另一方面,可满足各种用户界面的设计方案,方便实现半透明或者带有高斯模糊的标题栏和窗口边框的显示效果。
下述为本申请装置实施例,可以用于执行本申请方法实施例。对于本申请装置实施例中未披露的细节,请参照本申请方法实施例。
请参考图12,其示出了本申请一个示例性实施例提供的应用的显示装置的框图。该装置可以通过软件、硬件或者两者的结合实现成为电子设备的全部或者一部分。该装置可以包括:接收单元1210、建立单元1220和显示单元1230。
接收单元1210,用于接收第一触发指令,第一触发指令用于触发目标应用以悬浮窗模式显示;
建立单元1220,用于建立目标应用的标题栏的第一图层,第一图层与目标应用的应用内容的第二图层为不同的两个图层,第一图层为第二图层的下级图层,第一图层的尺寸大于第二图层的尺寸;
显示单元1230,用于显示目标应用的悬浮窗,悬浮窗包括第一图层和第二图层。
在一种可能的实现方式中,该装置还包括:
绑定单元,用于将第一图层与第二图层进行绑定,绑定后悬浮窗的目标区域显示有目标控件,目标区域为第一图层中与第二图层不重叠的区域,目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
在另一种可能的实现方式中,该装置还包括:
建立单元1220,还用于在接收到目标应用对应的开启指令的情况下,建立目标应用的基础活动和基础活动的应用内容对应的基础图层;基础图层为第二图层。
在另一种可能的实现方式中,绑定单元,还用于通过重定父级方式将第一图层与基础图层进行绑定。
在另一种可能的实现方式中,该装置还包括:
建立单元1220,还用于在检测到目标应用的上层活动被开启的情况下,建立上层活动的应用内容对应的上层图层,上层活动是除基础活动以外的其他层级的活动;
显示单元1230,还用于保持显示标题栏的第一图层不变,隐藏显示基础图层,并显示上层图层。
在另一种可能的实现方式中,该装置还包括:
绑定单元,还用于将第一图层与基础图层解除绑定,并将第一图层与上层图层进行绑定。
在另一种可能的实现方式中,该装置还包括:
隐藏显示单元,用于在接收到用于最小化悬浮窗的最小化指令的情况下,隐藏显示第一图层和应用内容的各个图层。
在另一种可能的实现方式中,最小化指令包括作用于第一图层的最小化按钮上的操作触发的指令。
在另一种可能的实现方式中,该装置还包括:
取消显示单元,用于在检测到目标应用被关闭的情况下,取消显示第一图层和应用内容的各个图层,和/或销毁第一图层和应用内容的各个图层。
在另一种可能的实现方式中,目标应用的应用内容为目标应用在屏幕上同时显示的至少两个窗口的应用内容,第二图层的尺寸为至少两个窗口的总体窗口尺寸。
在另一种可能的实现方式中,该装置还包括:
注册单元,用于为第一图层注册鼠标监听事件,鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个;
派发单元,用于在检测到指定鼠标事件的情况下,通过窗口管理服务将指定鼠标事件派发至第一图层,指定鼠标事件包括鼠标监听事件中的至少一个,第一图层用于处理指定鼠标事件对应的标题栏业务。
在另一种可能的实现方式中,第二图层中包括装饰视图,装饰视图是内容视图的父容器,内容视图是目标应用的应用内容的载体。
需要说明的是,上述实施例提供的装置,在实现其功能时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将设备的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的装置与方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。
本申请实施例提供了一种电子设备,电子设备包括:处理器;用于存储处理器可执行指令的存储器;其中,处理器执行指令时,使得电子设备实现上述由电子设备执行的方法。
本申请实施例提供了一种计算机程序产品,包括计算机可读代码,或者承载有计算机可读代码的非易失性计算机可读存储介质,当计算机可读代码在电子设备的处理器中运行时,电子设备中的处理器执行上述由电子设备执行的方法。
本申请实施例提供了一种非易失性计算机可读存储介质,其上存储有计算机程序指令,计算机程序指令被处理器执行时实现上述由电子设备执行的方法。
计算机可读存储介质可以是可以保持和存储由指令执行设备使用的指令的有形设备。计算机可读存储介质例如可以是――但不限于――电存储设备、磁存储设备、光存储设备、电磁存储设备、半导体存储设备或者上述的任意合适的组合。计算机可读存储介质的更具体的例子(非穷举的列表)包括:便携式计算机盘、硬盘、随机存取存储器(RandomAccess Memory, RAM)、只读存储器(Read Only Memory,ROM)、可擦式可编程只读存储器(Electrically Programmable Read-Only-Memory,EPROM或闪存)、静态随机存取存储器(Static Random-Access Memory,SRAM)、便携式压缩盘只读存储器(Compact Disc Read-Only Memory, CD-ROM)、数字多功能盘(Digital Video Disc,DVD)、记忆棒、软盘、机械编码设备、例如其上存储有指令的打孔卡或凹槽内凸起结构、以及上述的任意合适的组合。
这里所描述的计算机可读程序指令或代码可以从计算机可读存储介质下载到各个计算/ 处理设备,或者通过网络、例如因特网、局域网、广域网和/或无线网下载到外部计算机或外部存储设备。网络可以包括铜传输电缆、光纤传输、无线传输、路由器、防火墙、交换机、网关计算机和/或边缘服务器。每个计算/处理设备中的网络适配卡或者网络接口从网络接收计算机可读程序指令,并转发该计算机可读程序指令,以供存储在各个计算/处理设备中的计算机可读存储介质中。
用于执行本申请操作的计算机程序指令可以是汇编指令、指令集架构(Instruction Set Architecture,ISA)指令、机器指令、机器相关指令、微代码、固件指令、状态设置数据、或者以一种或多种编程语言的任意组合编写的源代码或目标代码,所述编程语言包括面向对象的编程语言—诸如Smalltalk、C++等,以及常规的过程式编程语言—诸如“C”语言或类似的编程语言。计算机可读程序指令可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络—包括局域网(Local Area Network,LAN)或广域网(WideArea Network,WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。在一些实施例中,通过利用计算机可读程序指令的状态信息来个性化定制电子电路,例如可编程逻辑电路、现场可编程门阵列(Field-ProgrammableGate Array,FPGA)或可编程逻辑阵列(Programmable Logic Array,PLA),该电子电路可以执行计算机可读程序指令,从而实现本申请的各个方面。
这里参照根据本申请实施例的方法、装置(系统)和计算机程序产品的流程图和/或框图描述了本申请的各个方面。应当理解,流程图和/或框图的每个方框以及流程图和/或框图中各方框的组合,都可以由计算机可读程序指令实现。
这些计算机可读程序指令可以提供给通用计算机、专用计算机或其它可编程数据处理装置的处理器,从而生产出一种机器,使得这些指令在通过计算机或其它可编程数据处理装置的处理器执行时,产生了实现流程图和/或框图中的一个或多个方框中规定的功能/动作的装置。也可以把这些计算机可读程序指令存储在计算机可读存储介质中,这些指令使得计算机、可编程数据处理装置和/或其他设备以特定方式工作,从而,存储有指令的计算机可读介质则包括一个制造品,其包括实现流程图和/或框图中的一个或多个方框中规定的功能/动作的各个方面的指令。
也可以把计算机可读程序指令加载到计算机、其它可编程数据处理装置、或其它设备上,使得在计算机、其它可编程数据处理装置或其它设备上执行一系列操作步骤,以产生计算机实现的过程,从而使得在计算机、其它可编程数据处理装置、或其它设备上执行的指令实现流程图和/或框图中的一个或多个方框中规定的功能/动作。
附图中的流程图和框图显示了根据本申请的多个实施例的装置、系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或指令的一部分,所述模块、程序段或指令的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个连续的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。
也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行相应的功能或动作的硬件(例如电路或ASIC(Application SpecificIntegrated Circuit,专用集成电路))来实现,或者可以用硬件和软件的组合,如固件等来实现。
尽管在此结合各实施例对本申请进行了描述,然而,在实施所要求保护的本申请过程中,本领域技术人员通过查看所述附图、公开内容、以及所附权利要求书,可理解并实现所述公开实施例的其它变化。在权利要求中,“包括”(comprising)一词不排除其他组成部分或步骤,“一”或“一个”不排除多个的情况。单个处理器或其它单元可以实现权利要求中列举的若干项功能。相互不同的从属权利要求中记载了某些措施,但这并不表示这些措施不能组合起来产生良好的效果。
以上已经描述了本申请的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。本文中所用术语的选择,旨在最好地解释各实施例的原理、实际应用或对市场中的技术的改进,或者使本技术领域的其它普通技术人员能理解本文披露的各实施例。

Claims (15)

1.一种应用的显示方法,其特征在于,用于电子设备中,所述方法包括:
接收第一触发指令,所述第一触发指令用于触发目标应用以悬浮窗模式显示;
建立所述目标应用的标题栏的第一图层,所述第一图层与所述目标应用的应用内容的第二图层为不同的两个图层,所述第一图层为所述第二图层的下级图层,所述第一图层的尺寸大于所述第二图层的尺寸;
显示所述目标应用的悬浮窗,所述悬浮窗包括所述第一图层和所述第二图层。
2.根据权利要求1所述的方法,其特征在于,所述显示所述目标应用的悬浮窗之前,还包括:
将所述第一图层与所述第二图层进行绑定,绑定后所述悬浮窗的目标区域显示有目标控件,所述目标区域为所述第一图层中与所述第二图层不重叠的区域,所述目标控件包括最小化按钮、最大化按钮和关闭按钮中的至少一个。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括:
在接收到所述目标应用对应的开启指令的情况下,建立所述目标应用的基础活动和所述基础活动的应用内容对应的基础图层;所述基础图层为所述第二图层。
4.根据权利要求3所述的方法,其特征在于,
所述将所述第一图层与所述第二图层进行绑定,包括:
通过重定父级方式将所述第一图层与所述基础图层进行绑定。
5.根据权利要求3或4所述的方法,其特征在于,所述方法还包括:
在检测到所述目标应用的上层活动被开启的情况下,建立所述上层活动的应用内容对应的上层图层,所述上层活动是除所述基础活动以外的其他层级的活动;
保持显示所述标题栏的所述第一图层不变,隐藏显示所述基础图层,并显示所述上层图层。
6.根据权利要求5所述的方法,其特征在于,所述建立所述上层活动的应用内容对应的上层图层之后,还包括:
将所述第一图层与所述基础图层解除绑定,并将所述第一图层与所述上层图层进行绑定。
7.根据权利要求1至6任一所述的方法,其特征在于,所述显示所述目标应用的悬浮窗之后,还包括:
在接收到用于最小化所述悬浮窗的最小化指令的情况下,隐藏显示所述第一图层和所述应用内容的各个图层。
8.根据权利要求7所述的方法,其特征在于,所述最小化指令包括作用于所述第一图层的最小化按钮上的操作触发的指令。
9.根据权利要求1至8任一所述的方法,其特征在于,所述显示所述目标应用的悬浮窗之后,还包括:
在检测到所述目标应用被关闭的情况下,取消显示所述第一图层和所述应用内容的各个图层,和/或销毁所述第一图层和所述应用内容的各个图层。
10.根据权利要求1至9任一所述的方法,其特征在于,所述目标应用的应用内容为所述目标应用在屏幕上同时显示的至少两个窗口的应用内容,所述第二图层的尺寸为所述至少两个窗口的总体窗口尺寸。
11.根据权利要求1至10任一所述的方法,其特征在于,所述方法还包括:
为所述第一图层注册鼠标监听事件,所述鼠标监听事件包括按下事件、弹起事件和移动事件中的至少一个;
在检测到指定鼠标事件的情况下,通过窗口管理服务将所述指定鼠标事件派发至所述第一图层,所述指定鼠标事件包括所述鼠标监听事件中的至少一个,所述第一图层用于处理所述指定鼠标事件对应的标题栏业务。
12.根据权利要求1至11任一所述的方法,其特征在于,所述第二图层中包括装饰视图,所述装饰视图是内容视图的父容器,所述内容视图是所述目标应用的应用内容的载体。
13.一种应用的显示装置,其特征在于,所述装置包括:
处理器;
用于存储处理器可执行指令的存储器;
其中,所述处理器执行所述指令时,使得所述显示装置实现权利要求1-12任意一项所述的方法。
14.一种非易失性计算机可读存储介质,其上存储有计算机程序指令,其特征在于,所述计算机程序指令被处理器执行时实现权利要求1-12任意一项所述的方法。
15.一种计算机程序产品,其特征在于,所述计算机程序产品在计算机上运行时,所述计算机执行如权利要求1-12任意一项所述的方法。
CN202210410815.1A 2022-04-19 2022-04-19 应用的显示方法、装置及存储介质 Pending CN116954409A (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202210410815.1A CN116954409A (zh) 2022-04-19 2022-04-19 应用的显示方法、装置及存储介质
PCT/CN2023/087337 WO2023202407A1 (zh) 2022-04-19 2023-04-10 应用的显示方法、装置及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210410815.1A CN116954409A (zh) 2022-04-19 2022-04-19 应用的显示方法、装置及存储介质

Publications (1)

Publication Number Publication Date
CN116954409A true CN116954409A (zh) 2023-10-27

Family

ID=88419082

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210410815.1A Pending CN116954409A (zh) 2022-04-19 2022-04-19 应用的显示方法、装置及存储介质

Country Status (2)

Country Link
CN (1) CN116954409A (zh)
WO (1) WO2023202407A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117492609A (zh) * 2023-12-29 2024-02-02 荣耀终端有限公司 一种显示方法、可读存储介质、程序产品及电子设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102156999B (zh) * 2010-02-11 2015-06-10 腾讯科技(深圳)有限公司 一种用户界面的生成方法和装置
DE102012221513A1 (de) * 2011-12-09 2013-06-13 International Business Machines Corp. Verfahren und System zum Bereitstellen zusätzlicher Daten einem grafischen Schnittstellenelement
CN107193542B (zh) * 2017-03-30 2022-06-14 腾讯科技(深圳)有限公司 信息显示方法和装置
CN111949358A (zh) * 2020-08-18 2020-11-17 北京字节跳动网络技术有限公司 动态显示的方法、装置、可读介质和电子设备
CN113110910B (zh) * 2021-04-20 2024-01-23 上海卓易科技股份有限公司 一种安卓容器实现的方法、系统及设备

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117492609A (zh) * 2023-12-29 2024-02-02 荣耀终端有限公司 一种显示方法、可读存储介质、程序产品及电子设备
CN117492609B (zh) * 2023-12-29 2024-05-17 荣耀终端有限公司 一种显示方法、可读存储介质、程序产品及电子设备

Also Published As

Publication number Publication date
WO2023202407A1 (zh) 2023-10-26

Similar Documents

Publication Publication Date Title
CN111666055B (zh) 数据的传输方法及装置
CN114520868B (zh) 视频处理方法、装置及存储介质
EP3964937A1 (en) Method for generating user profile photo, and electronic device
CN111597000B (zh) 一种小窗口管理方法及终端
WO2021135618A1 (zh) 界面显示方法及相关装置
EP4280058A1 (en) Information display method and electronic device
CN111602381A (zh) 一种图标切换方法、显示gui的方法及电子设备
CN112835495B (zh) 开启应用程序的方法、装置及终端设备
WO2022134691A1 (zh) 一种终端设备中啸叫处理方法及装置、终端
WO2023202407A1 (zh) 应用的显示方法、装置及存储介质
CN112148401A (zh) 一种视图显示方法和电子设备
CN116028148B (zh) 一种界面处理方法、装置及电子设备
CN115484404B (zh) 基于分布式控制的相机控制方法及终端设备
CN116263652A (zh) 一种壁纸显示方法及电子设备
CN115113832A (zh) 一种跨设备同步显示的控制方法及系统
CN114615362B (zh) 相机控制方法、装置和存储介质
US20240129619A1 (en) Method and Apparatus for Performing Control Operation, Storage Medium, and Control
WO2022105755A1 (zh) 字库同步方法、装置和存储介质
CN115794272B (zh) 一种显示方法及电子设备
CN117215446B (zh) 一种显示方法及电子设备
CN117519564A (zh) 一种弹幕消息发布方法及装置
CN114610417A (zh) 接口调用方法、装置及存储介质
CN115379274A (zh) 基于图片的互动方法、装置、电子设备及存储介质
CN117472220A (zh) 操作识别方法和装置
CN117170534A (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