CN112612468A - 全局悬浮窗的实现方法、实现装置、终端及存储介质 - Google Patents

全局悬浮窗的实现方法、实现装置、终端及存储介质 Download PDF

Info

Publication number
CN112612468A
CN112612468A CN202011560508.9A CN202011560508A CN112612468A CN 112612468 A CN112612468 A CN 112612468A CN 202011560508 A CN202011560508 A CN 202011560508A CN 112612468 A CN112612468 A CN 112612468A
Authority
CN
China
Prior art keywords
window
display
application program
floating
parameter
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
CN202011560508.9A
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.)
Beijing Wutong Chelian Technology Co Ltd
Original Assignee
Beijing Wutong Chelian Technology 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 Beijing Wutong Chelian Technology Co Ltd filed Critical Beijing Wutong Chelian Technology Co Ltd
Priority to CN202011560508.9A priority Critical patent/CN112612468A/zh
Publication of CN112612468A publication Critical patent/CN112612468A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • 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)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Digital Computer Display Output (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本公开是关于一种全局悬浮窗的实现方法、实现装置、终端及存储介质。该方法包括确定待全局悬浮的应用程序窗口;基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。在进行不同应用程序切换时,全局悬浮后的应用程序窗口,可一直以悬浮窗的形式悬浮在其他应用程序上层。当需要对全局悬浮的应用程序进行操作时,可直接对其进行操作,不需要关闭处于打开状态的其他应用程序。这对于在不同应用程序间切换操作频次较高的应用程序而言,可降低操作复杂性,提高操作效率。

Description

全局悬浮窗的实现方法、实现装置、终端及存储介质
技术领域
本发明涉及信息技术领域,尤其涉及一种全局悬浮窗的实现方法、实现装置、终端及存储介质。
背景技术
***中窗口类型一般包括应用窗口、子窗口和***窗口等。在显示界面中,应用窗口处于打开状态,此时对其他应用窗口进行操作时,需要关闭处于打开状态的应用窗口。当对其他应用窗口操作完成,再次打开原来的应用窗口。但这对于操作频次较高的应用窗口而言,操作过于复杂。对此,需要一种降低操作复杂度的窗口实现方式。
发明内容
有鉴于此,本公开实施例期望提供一种全局悬浮窗的实现方法、实现装置、终端及存储介质。
本公开的技术方案是这样实现的:
一方面,本公开提供一种全局悬浮窗的实现方法。
本公开实施例提供的全局悬浮窗的实现方法,包括:
确定待全局悬浮的应用程序窗口;
基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
在一些实施例中,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
在一些实施例中,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
根据所述指示信息,通过图层接口set layer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
在一些实施例中,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
在一些实施例中,所述显示界面还包含有:全局悬浮显示的***窗口;所述方法还包括:
根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;
所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
在一些实施例中,所述根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
在一些实施例中,所述方法还包括:
若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
在一些实施例中,所述电子设备的显示界面为多个;
所述对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
在一些实施例中,所述在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
另一方面,本公开提供一种全局悬浮窗的实现装置。本公开实施例提供的全局悬浮窗的实现装置,包括:
第一处理单元,用于确定待全局悬浮的应用程序窗口;
第二处理单元,用于基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
在一些实施例中,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
在一些实施例中,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
所述第三处理单元,具体用于根据所述指示信息,通过图层接口set layer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
在一些实施例中,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
在一些实施例中,所述显示界面还包含有:全局悬浮显示的***窗口;所述装置还包括:
第四处理单元,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;以及
所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
在一些实施例中,所述第四处理单元,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
所述第四处理单元,具体用于根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
在一些实施例中,所述第四处理单元,还用于若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
在一些实施例中,所述电子设备的显示界面为多个;
所述第三处理单元,还用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
在一些实施例中,所述第三处理单元,用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
又一方面,本公开还提供一种终端。
本公开实施例提供的终端,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行一方面本公开实施例提供的全局悬浮窗的实现方法的步骤。
再一方面,本公开还提供一种计算机可读存储介质。
本公开实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现一方面本公开实施例提供的全局悬浮窗的实现方法的步骤。
本公开实施例通过生成指示待全局悬浮的应用程序窗口进行全局悬浮的指示信息,并根据指示信息将确定的待全局悬浮的应用程序窗口进行全局悬浮显示。在进行不同应用程序切换时,全局悬浮后的应用程序窗口,可一直以悬浮窗的形式悬浮在其他应用程序上层。当需要对全局悬浮的应用程序进行操作时,可直接对其进行操作,不需要关闭处于打开状态的其他应用程序。这对于在不同应用程序间切换操作频次较高的应用程序而言,可降低操作复杂性,提高操作效率。
附图说明
图1是根据一示例性实施例示出的全局悬浮窗的实现方法流程图;
图2是根据一示例性实施例示出的全局悬浮窗的实现***结构图;
图3是根据一示例性实施例示出的全局悬浮窗的实现装置示意图;
图4是根据一示例性实施例示出的终端结构示意图。
具体实施方式
以下结合说明书附图及具体实施例对本发明的技术方案做进一步的详细阐述。这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本发明相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本发明的一些方面相一致的装置和方法的例子。
***中一般定义了三种窗口类型。三种类型定义在窗口管理器Window Manager的布局参数Layout Params中。三种窗口类型包括应用窗口,子窗口和***窗口。应用窗口是指该窗口对应一个Activity活动。活动是最容易吸引到用户的地方,它是一种包含用户界面的组件,主要用于和用户进行交互。一个应用程序中可以包含零个或者多个活动。Activity主要是处理一个应用的整体性工作,例如,监听***事件(按键事件、触摸屏事件等)、为用户显示指定的View,启动其他Activity等。例如,FIRST_APPLICATION_WINDOW=1代表第一个普通应用窗口。子窗口是指该窗口必须要有一个父窗口,父窗口可以是一个应用类型窗口,也可以是任何其他类型的窗口。
FIRST_SUB_WINDOW=1000代表第一个子窗口。***窗口不需要对应任何Activity,也不需要有父窗口。对于应用程序而言,理论上是无法创建***窗口的,因为所有的应用程序都没有这个权限。然而***进程却可以创建***窗口。
FIRST_SYSTEM_WINDOW=2000代表第一个***窗口,
TYPE_STATUS_BAR=FIRST_SYSTEM_WINDOW代表状态栏窗口,
TYPE_SEARCH_BAR=FIRST_SYSTEM_WINDOW+1代表搜索条窗口。
相关技术中Android***中实现全局的悬浮窗,只能是***进程创建***窗口的方式实现。一般应用程序没有权限创建悬浮窗,应用的Activity界面只是普通窗口。***进程创建***窗口一般包括声明及申请权限、构建悬浮窗需要的控件、将控件添加到“WindowManager”以及必要时更新“Window Manager”的布局等步骤。
悬浮窗实现需要在***进程中,开发时就指定特定窗口类型。但在复杂***中,涉及到关联模块较多,操作复杂时,如果都用***进程来开发,会造成效率低下、相互耦合的情况。例如在车机***中,关联的模块可能要多方参与。如CAR相关车控(显示车速)、导航(在桌面、音乐等界面上显示导航概要)、智能识别AI芯片(有检测到疲劳驾驶时报警),在不同场景都有全局悬浮显示相关界面的需求。
本公开提供一种全局悬浮窗的实现方法,可应用于车载设备的中屏显示或平视屏显示但不局限于应用于车载设备中。图1是根据一示例性实施例示出的全局悬浮窗的实现方法流程图。如图1所示,该全局悬浮窗的实现方法,包括:
步骤10、确定待全局悬浮的应用程序窗口;
步骤11、基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
步骤12、根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
在本示例性实施例中,全局悬浮指在显示界面中应用程序窗口以悬浮窗的形式一直悬浮在显示界面上,包括在对其他应用程序或***程序进行操作时。确定待全局悬浮的应用程序窗口包括:根据不同功能应用或场景应用,确定对应的待全局悬浮的应用程序窗口。例如,当需要具有显示车速功能的应用程序窗口进行全局悬浮时,则可确定显示车速的应用程序窗口为待全局悬浮的应用程序窗口。确定待全局悬浮的应用程序窗口后,基于应用程序的包名,生成与应用程序对应的全局悬浮的指示信息。指示信息中至少包括应用程序窗口的层级信息。层级信息中包含有指定该应用程序窗口在显示界面中进行显示的具体显示层级(或应用程序窗口在显示界面中进行绘制的绘制图层)。
根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:根据指示信息中的层级信息,对所述应用程序窗口进行全局悬浮显示。根据层级信息,应用程序窗口显示在显示界面中层级信息指定的显示层级。
本公开实施例通过生成指示待全局悬浮的应用程序窗口进行全局悬浮的指示信息,并根据指示信息将确定的待全局悬浮的应用程序窗口进行全局悬浮显示。在进行不同应用程序切换时,全局悬浮后的应用程序窗口,可一直以悬浮窗的形式悬浮在其他应用程序上层。当需要对全局悬浮的应用程序进行操作时,可直接对其进行操作,不需要关闭处于打开状态的其他应用程序。这对于在不同应用程序间切换操作频次较高的应用程序而言,可降低操作复杂性,提高操作效率。
在一些实施例中,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
在本示例性实施例中,层级信息指示该应用程序窗口显示在显示界面的层级为最顶层时,可通过界面服务组件surface flinger,将待全局悬浮的应用程序窗口绘制在电子设备的显示界面的最顶层。
在一些实施例中,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
根据所述指示信息,通过图层接口set layer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
在本示例性实施例中,可在***框架层(Framework)建立功能模块和信息接口。通过功能模块生成指示信息,并通过信息接口调用图层接口z-layer根据层级信息来设置层级属性Z-order。层级属性Z-order中包含有各个应用程序窗口在显示界面的显示层级中的显示顺序(或层叠顺序)。例如,应用程序窗口A的显示层级为最顶层、应用程序窗口B的显示层级为最底层,则在层级属性Z-order的显示顺序中,应用程序窗口A的显示顺序为第一个显示,应用程序窗口B的显示顺序为最后一个显示。界面服务组件surface flinger根据设置的层级属性,在显示界面上绘制各显示层级分别对应显示的应用程序窗口。
在一些实施例中,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
在本示例性实施例中,层级信息指示所述应用程序窗口的绘制图层为最顶层。即指示应用程序窗口在显示界面的显示层级的最顶层进行显示,对应于层级属性Z-order中的第一个显示,或层叠层的第一层。
在一些实施例中,所述显示界面还包含有:全局悬浮显示的***窗口;所述方法还包括:
根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;
所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
在本示例性实施例中,***窗口的第一窗口参数可以是***窗口在显示界面显示时所占用的显示区域,包括显示位置和/或窗口大小和/或窗口类型。
应用程序窗口的第二窗口参数可以是应用程序窗口在显示界面显示时所占用的显示区域,包括显示位置和/或窗口大小和/或窗口类型。
窗口类型根据面积大小,可以分为:使用整个屏幕显示的全屏窗口,或者使用小于屏幕的显示面积显示的小窗口。
***窗口的第三窗口参数可以是调整后的***窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和/或窗口大小和/或窗口类型。
应用程序窗口的第四窗口参数可以是调整后的应用程序窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和/或窗口大小和/或窗口类型。
确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数,包括:
当***窗口在显示界面显示时所占用的显示区域与应用程序窗口在显示界面所占用的显示区域发生重叠,调整***窗口在显示界面显示时所占用的显示区域和调整应用程序窗口在显示界面显示时所占用的显示区域;
确定调整后的***窗口所占用的显示区域和应用程序窗口所占用的显示区域不发生重叠后,确定调整后的***窗口所占用的显示区域为第三窗口参数,调整后的应用程序窗口所占用的显示区域为第四窗口参数;
调整***窗口所占用的显示区域包括调整***窗口的显示位置和窗口大小;调整应用程序窗口所占用的显示区域包括调整应用程序窗口的显示位置和窗口大小;
在调整后的应用程序所占的显示区域处对应用程序窗口进行全局悬浮显示。如此,通过窗口参数调整,可实现***窗口和应用程序窗口的无遮挡悬浮显示。
在一些实施例中,所述根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
在本示例性实施例中,***窗口的第一窗口参数可以是***窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小;应用程序窗口的第二窗口参数可以是应用程序窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小。***窗口的第三窗口参数可以是调整后的***窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。应用程序窗口的第四窗口参数可以是调整后的应用程序窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。
当***窗口和应用程序窗口中至少一个为全屏窗口时,将该全屏窗口转换为小窗口,包括以下至少之一:
当***窗口为全屏窗口时,将***窗口转换为小窗口;
当应用程序窗口为全屏窗口时,将应用程序窗口转换为小窗口;***窗口和应用程序窗口均为全屏窗口时,将***窗口和应用程序窗口均转换为小窗口。
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数,包括以下至少之一:
当***窗口转换为小窗口时,确定转换后的***窗口所占用的显示区域为***窗口的第三窗口参数;
当应用程序窗口转换为小窗口时;确定转换后的应用程序窗口所占用的显示区域为应用程序窗口的第四窗口参数;或,
当***窗口和应用程序窗口均转换为小窗口时,确定转换后的***窗口所占用的显示区域为***窗口的第三窗口参数,以及确定转换后的应用程序窗口所占用的显示区域为应用程序窗口的第四窗口参数。
在一些实施例中,所述方法还包括:
若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
在本示例性实施例中,***窗口和应用程序窗口均为小窗口时,将***窗口和应用程序窗口均转换为小窗口;***窗口的小窗口和应用程序窗口的小窗口的显示区域包括***窗口的小窗口和应用程序窗口在显示界面中的显示位置和窗口大小。
确定***窗口的小窗口和应用程序窗口的小窗口的显示区域发生重叠时,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示位置和/或窗口大小;
确定调整后的***窗口的小窗口的显示区域为第三窗口参数,和/或,
确定调整后的应用程序窗口的小窗口的显示区域为第四窗口参数。
在***窗口和应用程序窗口均为小窗口时,根据***窗口和应用程序窗口在第一方向和/或第二方向上的宽度,确定在第一方向上错开显示所述***窗口和所述应用程序窗口,或者,在第二方向上错开显示所述***窗口和所述应用程序窗口。
所述第一方向和所述第二方向相互垂直。例如,所述第一方向为显示屏的横屏方向,则所述第二方向为所述显示屏的竖屏方向;若所述第一方向为所述显示屏的竖屏方向,则所述第二方向为所述显示屏的横屏方向。
例如,所述在***窗口和应用程序窗口均为小窗口时,根据***窗口和应用程序窗口在第一方向和/或第二方向上的宽度,确定在第一方向上错开显示所述***窗口和所述应用程序窗口,或者,在第二方向上错开显示所述***窗口和所述应用程序窗口,包括:
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第一方向上的宽度和小于所述显示屏在第一方向上的宽度,则确定在第一方向上错开显示所述***窗口和所述应用程序窗口。然后确定出在第一方向上错开显示所述***窗口和所述应用程序窗口的第三窗口参数和所述第四窗口参数;
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和小于所述显示屏在第二方向上的宽度,则确定在第二方向上错开显示所述***窗口和所述应用程序窗口;然后确定出在第二方向上错开显示所述***窗口和所述应用程序窗口的第三窗口参数和所述第四窗口参数;
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和大于所述显示屏在第二方向上的宽度,且所述***窗口和应用程序窗口在第一方向上的宽度和大于所述显示屏在第一方向上的宽度,则在第一方向和第二方向上的至少一个方向上缩小所述***窗口和应用程序窗口的至少其中之一,并根据缩小的***窗口和应用程序窗口在第一方向或第二方向上的错开显示,确定所述第三窗口参数和所述第四窗口参数。
在一个实施例中,所述第一方向和所述第二方向分别设置有调整优先级,若在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和大于所述显示屏在第二方向上的宽度,且所述***窗口和应用程序窗口在第一方向上的宽度和大于所述显示屏在第一方向上的宽度,则可以根据优先级,确定在第一方向上或者第二方向上缩小至少一个窗口进行并列错开显示。例如,第一方向的优先级高于第二方向的优先级,则确定在第一方向上进行缩小。该优先级可以是根据用户输入设置的,也可以是根据用户针对小窗口的移动操作的历史记录生成的。
在一些实施例中,所述方法还包括:
根据显示至少两个全局悬浮显示的小窗口的显示屏的类型,及两个并列显示的小窗口的信息内容,确定排序方式;
结合排序方式,确定所述第三窗口参数和所述第四窗口参数。
例如,显示屏为中屏;若全局悬浮显示的小窗口包括:显示地图应用或者导航应用的小窗口,则确定按照第一排序方式进行小窗口之间的并列错开显示,在第一排序方式下,显示地图应用或者导航应用的小窗口为显示屏上最靠近驾驶位的小窗口,以方便驾驶员以最好的视角观看所述地图应用或导航应用悬浮显示的内容。
在本公开实施例中,所述第一窗口参数、第二窗口参数、第三窗口参数及第四窗口参数,都可以用于surfaceflinger进行图层绘制的参数。
应用程序的全局悬浮显示的窗口对应的应用程序在后台运行,如此会产生供surfaceflinger绘制所需的界面数据;由于应用程序的该窗口被标记为全局悬浮显示的窗口,则通过层级信息,surfaceflinger进行界面绘制时,会将全局悬浮显示的小窗口绘制在最顶层,从而无其他窗口能够遮挡该全局悬浮应用程序的窗口。
所述方法还包括:
根据作用于设置页面的使能操作,激活允许至少一个应用程序的全局悬浮显示的功能;
或者,
根据启动应用程序的功能,激活允许至少一个应用程序的全局悬浮显示的功能。
在***启动后可通过页面设置激活至少一个应用程序具有全局悬浮显示的功能,或根据应用程序的功能启动一类具有具体某种功能的应用程序具有全局悬浮显示的功能。
激活应用程序的全局悬浮显示功能后,可根据应用程序中监控的数据变化或场景下的应用重要程度,自动启动全局悬浮显示功能,包括:
根据应用程序***作的频次可自行启动全局悬浮显示。例如,车在复杂路况下行驶时,车速监控较多,此时车速显示应用程序被使用的频次的较高。当***判断得知,车速显示应用程序***作的频次大于预设阈值时,则自动启动该车速显示应用程序的全局悬浮显示,或,
当***判断得知,在路况下,车速变化过于频繁,此时车速控制对于驾驶变得非常重要,则自动启动车速显示应用程序的全局悬浮显示,以便于驾驶员掌控车速变化。
在一些实施例中,所述电子设备的显示界面为多个;
所述对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
在本示例性实施例中,当电子设备具有多个显示界面时,可同时在多个显示界面上进行应用程序窗口的同步全局悬浮显示。如此便于在较大应用场所下多角度的屏幕同步显示,以改善信息同步显示效果。
在一些实施例中,所述在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
在本示例性实施例中,可在多个显示界面上同步全局悬浮显示一个应用程序窗口,也可以在多个不同的显示界面上同步全局悬浮显示多个不同的应用程序窗口。即每个显示界面显示不同的应用程序窗口。例如,当需要多个模块同时进行工作时,CAR相关车控(显示车速)、导航(在桌面、音乐等界面上显示导航概要)等,此时,可以在多个显示界面上同时进行多个不同应用程序窗口的全局悬浮显示,以便于在不同模块间进行信息交互操作。
在实现上述全局悬浮窗的方法中,可通过system_server提供Enter GlobalFloat Window接口;图2是根据一示例性实施例示出的全局悬浮窗的实现***结构图。如图2所示,
(1)在***框架层提供Enter Global Float Window方法,可指定启动一个应用的ACTIVITY为全局悬浮窗,并可指定悬浮窗的显示位置和窗口大小等。例如,
public void EnterGlobalFloatWindow(Activity activity,Rect rect){
GlobalFloatWindowParams.Builder
builder=new GlobalFloatWindowParams.Builder();
builder.setSourceRectHint(rect);
activity.enterGlobalFloatWindowMode(builder.build());
}
(2)增加全局悬浮GlobalFloatWindowContainers
对EnterGlobalFloatWindow启动的Activity统一管理,再添加Activity到DisplayContent中;DisplayContent中包含有mGlobalFloatWindowsContainers(类型GlobalFloatWindowContainers)一切全局悬浮Activity的Window容器。
(3)设置全局悬浮GlobalFloatWindowContainers的层级
设置SurfaceFlinger中的layer,让其始终可显示在其它ACTIVITY的上面如下:
原生的窗口层级是依赖类型来定义的如下:
Application windows(应用窗口):1~99
Sub-windows(子窗口):1000~1999
System windows(***窗口):2000~2999
现为支持应用窗口(普通ACTIVITY)显示为高层级的悬浮窗口,不直接修改窗口类型,而是直接通过Surface Control的接口set layer设置Z-order(层级属性)来告知Surface Flinger显示层级。
(4)重载EnterGlobalFloatWindow将要显示的输出设备,来实现双屏异显。
public void EnterGlobalFloatWindow(Activity activity,Rect rect,intid){
GlobalFloatWindowParams.Builder
builder=new GlobalFloatWindowParams.Builder();
builder.setSourceRectHint(rect);
builder.setDisplay(id);
activity.enterGlobalFloatWindowMode(builder.build());
}
(5)system_server提供ExitGlobalFloatWindow接口来删除全局悬浮窗口。
另一方面,本公开提供一种全局悬浮窗的实现装置。图3是根据一示例性实施例示出的全局悬浮窗的实现装置结构示意图。如图3所示,本公开实施例提供的全局悬浮窗的实现装置,包括:
第一处理单元31,用于确定待全局悬浮的应用程序窗口;
第二处理单元32,用于基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
第三处理单元33,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
在本示例性实施例中,全局悬浮指在显示界面中应用程序窗口以悬浮窗的形式一直悬浮在显示界面上,包括在对其他应用程序或***程序进行操作时。确定待全局悬浮的应用程序窗口包括:根据不同功能应用或场景应用,确定对应的待全局悬浮的应用程序窗口。例如,当需要具有显示车速功能的应用程序窗口进行全局悬浮时,则可确定显示车速的应用程序窗口为待全局悬浮的应用程序窗口。确定待全局悬浮的应用程序窗口后,基于应用程序的包名,生成与应用程序对应的全局悬浮的指示信息。指示信息中至少包括应用程序窗口的层级信息。层级信息中包含有指定该应用程序窗口在显示界面中进行显示的具体显示层级(或应用程序窗口在显示界面中进行绘制的绘制图层)。
根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:根据指示信息中的层级信息,对所述应用程序窗口进行全局悬浮显示。根据层级信息,应用程序窗口显示在显示界面中层级信息指定的显示层级。
本公开实施例通过生成指示待全局悬浮的应用程序窗口进行全局悬浮的指示信息,并根据指示信息将确定的待全局悬浮的应用程序窗口进行全局悬浮显示。在进行不同应用程序切换时,全局悬浮后的应用程序窗口,可一直以悬浮窗的形式悬浮在其他应用程序上层。当需要对全局悬浮的应用程序进行操作时,可直接对其进行操作,不需要关闭处于打开状态的其他应用程序。这对于在不同应用程序间切换操作频次较高的应用程序而言,可降低操作复杂性,提高操作效率。
在一些实施例中,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
在本示例性实施例中,层级信息指示该应用程序窗口显示在显示界面的层级为最顶层时,可通过界面服务组件surface flinger,将待全局悬浮的应用程序窗口绘制在电子设备的显示界面的最顶层。
在一些实施例中,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
所述第三处理单元,具体用于根据所述指示信息,通过图层接口set layer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
在本示例性实施例中,可在***框架层建立功能模块和信息接口。通过功能模块生成指示信息,并通过信息接口调用图层接口z-layer根据层级信息来设置层级属性Z-order。层级属性Z-order中包含有各个应用程序窗口在显示界面的显示层级中的显示顺序(或层叠顺序)。例如,应用程序窗口A的显示层级为最顶层、应用程序窗口B的显示层级为最底层,则在层级属性Z-order的显示顺序中,应用程序窗口A的显示顺序为第一个显示,应用程序窗口B的显示顺序为最后一个显示。界面服务组件surface flinger根据设置的层级属性,在显示界面上绘制各显示层级分别对应显示的应用程序窗口。
在一些实施例中,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
在本示例性实施例中,层级信息指示所述应用程序窗口的绘制图层为最顶层。即指示应用程序窗口在显示界面的显示层级的最顶层进行显示,对应于层级属性Z-order中的第一个显示,或层叠层的第一层。
在一些实施例中,如图3所示,所述显示界面还包含有:全局悬浮显示的***窗口;所述装置还包括:
第四处理单元34,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;以及
所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
在本示例性实施例中,***窗口的第一窗口参数可以是***窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小;应用程序窗口的第二窗口参数可以是应用程序窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小。***窗口的第三窗口参数可以是调整后的***窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。应用程序窗口的第四窗口参数可以是调整后的应用程序窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。
确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数,包括:
当***窗口在显示界面显示时所占用的显示区域与应用程序窗口在显示界面所占用的显示区域发生重叠,调整***窗口在显示界面显示时所占用的显示区域和调整应用程序窗口在显示界面显示时所占用的显示区域;
确定调整后的***窗口所占用的显示区域和应用程序窗口所占用的显示区域不发生重叠后,确定调整后的***窗口所占用的显示区域为第三窗口参数,调整后的应用程序窗口所占用的显示区域为第四窗口参数;
调整***窗口所占用的显示区域包括调整***窗口的显示位置和窗口大小;调整应用程序窗口所占用的显示区域包括调整应用程序窗口的显示位置和窗口大小;
在调整后的应用程序所占的显示区域处对应用程序窗口进行全局悬浮显示。
在一些实施例中,所述第四处理单元,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
所述第四处理单元,具体用于根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
在本示例性实施例中,***窗口的第一窗口参数可以是***窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小;应用程序窗口的第二窗口参数可以是应用程序窗口在显示界面显示时所占用的显示区域,包括显示位置和窗口大小。***窗口的第三窗口参数可以是调整后的***窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。应用程序窗口的第四窗口参数可以是调整后的应用程序窗口在显示界面显示时所占用的显示区域,包括调整后的显示位置和窗口大小。
当***窗口和应用程序窗口中至少一个为全屏窗口时,将该全屏窗口转换为小窗口,包括:
当***窗口为全屏窗口时,将***窗口转换为小窗口;
当应用程序窗口为全屏窗口时,将应用程序窗口转换为小窗口;或
***窗口和应用程序窗口均为小窗口时,将***窗口和应用程序窗口均转换为小窗口。
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数,包括:
当***窗口转换为小窗口时,确定转换后的***窗口所占用的显示区域为***窗口的第三窗口参数;
当应用程序窗口转换为小窗口时;确定转换后的应用程序窗口所占用的显示区域为应用程序窗口的第四窗口参数;或,
当***窗口和应用程序窗口均转换为小窗口时,确定转换后的***窗口所占用的显示区域为***窗口的第三窗口参数,以及确定转换后的应用程序窗口所占用的显示区域为应用程序窗口的第四窗口参数。
在一些实施例中,所述第四处理单元,还用于若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
在本示例性实施例中,***窗口和应用程序窗口均为小窗口时,将***窗口和应用程序窗口均转换为小窗口;***窗口的小窗口和应用程序窗口的小窗口的显示区域包括***窗口的小窗口和应用程序窗口在显示界面中的显示位置和窗口大小。
确定***窗口的小窗口和应用程序窗口的小窗口的显示区域发生重叠时,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示位置和/或窗口大小;
确定调整后的***窗口的小窗口的显示区域为第三窗口参数,和/或,
确定调整后的应用程序窗口的小窗口的显示区域为第四窗口参数。
如何进行重叠错开,写一下:
在***窗口和应用程序窗口均为小窗口时,根据***窗口和应用程序窗口在第一方向和/或第二方向上的宽度,确定在第一方向上错开显示所述***窗口和所述应用程序窗口,或者,在第二方向上错开显示所述***窗口和所述应用程序窗口。
所述第一方向和所述第二方向相互垂直。例如,所述第一方向为显示屏的横屏方向,则所述第二方向为所述显示屏的竖屏方向;若所述第一方向为所述显示屏的竖屏方向,则所述第二方向为所述显示屏的横屏方向。
例如,所述在***窗口和应用程序窗口均为小窗口时,根据***窗口和应用程序窗口在第一方向和/或第二方向上的宽度,确定在第一方向上错开显示所述***窗口和所述应用程序窗口,或者,在第二方向上错开显示所述***窗口和所述应用程序窗口,包括:
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第一方向上的宽度和小于所述显示屏在第一方向上的宽度,则确定在第一方向上错开显示所述***窗口和所述应用程序窗口。然后确定出在第一方向上错开显示所述***窗口和所述应用程序窗口的第三窗口参数和所述第四窗口参数;
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和小于所述显示屏在第二方向上的宽度,则确定在第二方向上错开显示所述***窗口和所述应用程序窗口;然后确定出在第二方向上错开显示所述***窗口和所述应用程序窗口的第三窗口参数和所述第四窗口参数;
在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和大于所述显示屏在第二方向上的宽度,且所述***窗口和应用程序窗口在第一方向上的宽度和大于所述显示屏在第一方向上的宽度,则在第一方向和第二方向上的至少一个方向上缩小所述***窗口和应用程序窗口的至少其中之一,并根据缩小的***窗口和应用程序窗口在第一方向或第二方向上的错开显示,确定所述第三窗口参数和所述第四窗口参数。
在一个实施例中,所述第一方向和所述第二方向分别设置有调整优先级,若在***窗口和应用程序窗口均为小窗口时,所述***窗口和应用程序窗口在第二方向上的宽度和大于所述显示屏在第二方向上的宽度,且所述***窗口和应用程序窗口在第一方向上的宽度和大于所述显示屏在第一方向上的宽度,则可以根据优先级,确定在第一方向上或者第二方向上缩小至少一个窗口进行并列错开显示。例如,第一方向的优先级高于第二方向的优先级,则确定在第一方向上进行缩小。该优先级可以是根据用户输入设置的,也可以是根据用户针对小窗口的移动操作的历史记录生成的。
在一些实施例中,所述方法还包括:
根据显示至少两个全局悬浮显示的小窗口的显示屏的类型,及两个并列显示的小窗口的信息内容,确定排序方式;
结合排序方式,确定所述第三窗口参数和所述第四窗口参数。
例如,显示屏为中屏;若全局悬浮显示的小窗口包括:显示地图应用或者导航应用的小窗口,则确定按照第一排序方式进行小窗口之间的并列错开显示,在第一排序方式下,显示地图应用或者导航应用的小窗口为显示屏上最靠近驾驶位的小窗口,以方便驾驶员以最好的视角观看所述地图应用或导航应用悬浮显示的内容。
在本公开实施例中,所述第一窗口参数、第二窗口参数、第三窗口参数及第四窗口参数,都可以用于surfaceflinger进行图层绘制的参数。
应用程序的全局悬浮显示的窗口对应的应用程序在后台运行,如此会产生供surfaceflinger绘制所需的界面数据;由于应用程序的该窗口被标记为全局悬浮显示的窗口,则通过层级信息,surfaceflinger进行界面绘制时,会将全局悬浮显示的小窗口绘制在最顶层,从而无其他窗口能够遮挡该全局悬浮应用程序的窗口。
所述方法还包括:
根据作用于设置页面的使能操作,激活允许至少一个应用程序的全局悬浮显示的功能;
或者,
根据启动应用程序的功能,激活允许至少一个应用程序的全局悬浮显示的功能。
在***启动后可通过页面设置激活至少一个应用程序具有全局悬浮显示的功能,或根据应用程序的功能启动一类具有具体某种功能的应用程序具有全局悬浮显示的功能。
激活应用程序的全局悬浮显示功能后,可根据应用程序中监控的数据变化或场景下的应用重要程度,自动启动全局悬浮显示功能,包括:
根据应用程序***作的频次可自行启动全局悬浮显示。例如,车在复杂路况下行驶时,车速监控较多,此时车速显示应用程序被使用的频次的较高。当***判断得知,车速显示应用程序***作的频次大于预设阈值时,则自动启动该车速显示应用程序的全局悬浮显示,或,
当***判断得知,在路况下,车速变化过于频繁,此时车速控制对于驾驶变得非常重要,则自动启动车速显示应用程序的全局悬浮显示,以便于驾驶员掌控车速变化。
在一些实施例中,所述电子设备的显示界面为多个;
所述第三处理单元,还用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
在本示例性实施例中,当电子设备具有多个显示界面时,可同时在多个显示界面上进行应用程序窗口的同步全局悬浮显示。如此便于在较大应用场所下多角度的屏幕同步显示,以改善信息同步显示效果。
在一些实施例中,所述第三处理单元,用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
在本示例性实施例中,可在多个显示界面上同步全局悬浮显示一个应用程序窗口,也可以在多个不同的显示界面上同步全局悬浮显示多个不同的应用程序窗口。即每个显示界面显示不同的应用程序窗口。例如,当需要多个模块同时进行工作时,CAR相关车控(显示车速)、导航(在桌面、音乐等界面上显示导航概要)等,此时,可以在多个显示界面上同时进行多个不同应用程序窗口的全局悬浮显示,以便于在不同模块间进行信息交互操作。
本公开还提供一种终端。图4是根据一示例性实施例示出的终端结构示意图。如图4所示,本公开实施例提供的终端,包括:处理器630和用于存储能够在处理器上运行的计算机程序的存储器620,其中,所述处理器630用于运行所述计算机程序时,执行上述各实施例提供所述方法的步骤。
本公开还提供一种计算机可读存储介质。本公开实施例提供的计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述各实施例提供所述方法的步骤。
在本申请所提供的几个实施例中,应该理解到,所揭露的设备和方法,可以通过其它的方式实现。以上所描述的设备实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,如:多个单元或组件可以结合,或可以集成到另一个***,或一些特征可以忽略,或不执行。另外,所显示或讨论的各组成部分相互之间的耦合、或直接耦合、或通信连接可以是通过一些接口,设备或单元的间接耦合或通信连接,可以是电性的、机械的或其它形式的。
上述作为分离部件说明的单元可以是、或也可以不是物理上分开的,作为单元显示的部件可以是、或也可以不是物理单元,即可以位于一个地方,也可以分布到多个网络单元上;可以根据实际的需要选择其中的部分或全部单元来实现本实施例方案的目的。
另外,在本发明各实施例中的各功能单元可以全部集成在一个处理模块中,也可以是各单元分别单独作为一个单元,也可以两个或两个以上单元集成在一个单元中;上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的方法技术方案。
在一些情况下,上述任一两个技术特征不冲突的情况下,可以组合成新的设备技术方案。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:移动存储设备、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以所述权利要求的保护范围为准。

Claims (20)

1.一种全局悬浮窗的实现方法,其特征在于,应用于电子设备中,所述方法包括:
确定待全局悬浮的应用程序窗口;
基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
2.根据权利要求1所述的全局悬浮窗的实现方法,其特征在于,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
3.根据权利要求2所述的全局悬浮窗的实现方法,其特征在于,所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
根据所述指示信息,通过图层接口set layer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
4.根据权利要求1所述的全局悬浮窗的实现方法,其特征在于,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
5.根据权利要求2所述的全局悬浮窗的实现方法,其特征在于,所述显示界面还包含有:全局悬浮显示的***窗口;所述方法还包括:
根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;
所述根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
6.根据权利要求5所述的全局悬浮窗的实现方法,其特征在于,所述根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
7.根据权利要求6所述的全局悬浮窗的实现方法,其特征在于,
所述方法还包括:
若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
8.根据权利要求1所述的全局悬浮窗的实现方法,其特征在于,所述电子设备的显示界面为多个;
所述对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
9.根据权利要求8所述的全局悬浮窗的实现方法,其特征在于,所述在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
10.一种全局悬浮窗的实现装置,其特征在于,应用于电子设备中,所述装置包括:
第一处理单元,用于确定待全局悬浮的应用程序窗口;
第二处理单元,用于基于所述应用程序窗口,生成指示所述应用程序窗口进行全局悬浮的指示信息,所述指示信息至少包括所述应用程序窗口的层级信息;
第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示。
11.根据权利要求10所述的全局悬浮窗的实现装置,其特征在于,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于通过界面服务组件surface flinger,将待全局悬浮的所述应用程序窗口绘制在所述电子设备的显示界面的最顶层。
12.根据权利要求11所述的全局悬浮窗的实现装置,其特征在于,所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,还包括:
所述第三处理单元,具体用于根据所述指示信息,通过图层接口setlayer,设置所述应用程序窗口在所述显示界面中的显示层级,供所述界面服务组件surface flinger根据所述显示层级在所述电子设备的显示界面绘制所述待全局悬浮的所述应用程序窗口。
13.根据权利要求10所述的全局悬浮窗的实现装置,其特征在于,所述层级信息,指示所述应用程序窗口的绘制图层为最顶层。
14.根据权利要求11所述的全局悬浮窗的实现装置,其特征在于,所述显示界面还包含有:全局悬浮显示的***窗口;所述装置还包括:
第四处理单元,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述待全局悬浮显示的应用程序窗口的第四窗口参数;以及
所述第三处理单元,用于根据所述指示信息,对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于根据所述指示信息,以第四窗口参数全局悬浮显示所述应用程序窗口。
15.根据权利要求14所述的全局悬浮窗的实现装置,其特征在于,所述第四处理单元,用于根据所述全局悬浮显示的***窗口的第一窗口参数和所述待全局悬浮显示的应用程序窗口的第二窗口参数,确定并列显示所述全局悬浮显示的***窗口的第三窗口参数和所述全局悬浮显示的应用程序窗口的第四窗口参数,包括:
所述第四处理单元,具体用于根据所述第一窗口参数和第二窗口参数,确定全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少其中一个是否为全屏窗口;若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口中的至少一个为全屏窗口时,将所述全屏窗口转换为小窗口;其中,所述小窗口为显示面积小于所述电子设备的显示面积的窗口;
根据转换得到的所述小窗口,分别确定所述第三窗口参数和所述第四窗口参数。
16.根据权利要求15所述的全局悬浮窗的实现装置,其特征在于,所述第四处理单元,还用于若全局悬浮显示的所述***窗口及所述待全局悬浮的应用程序窗口均为小窗口时,确定***窗口的小窗口和应用程序窗口的小窗口的显示区域是否重叠;
若显示区域重叠,调整***窗口的小窗口和应用程序窗口的小窗口至少一个的显示区域,得到所述第三窗口参数和所述第四窗口参数。
17.根据权利要求10所述的全局悬浮窗的实现装置,其特征在于,所述电子设备的显示界面为多个;
所述第三处理单元,还用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示。
18.根据权利要求17所述的全局悬浮窗的实现装置,其特征在于,所述第三处理单元,用于在多个显示界面上对所述应用程序窗口进行全局悬浮显示,包括:
所述第三处理单元,具体用于在多个显示界面进行同一个所述应用程序窗口的全局悬浮显示,或,
在多个显示界面进行不同的所述应用程序窗口的全局悬浮显示。
19.一种终端,其特征在于,包括:处理器和用于存储能够在处理器上运行的计算机程序的存储器,其中,所述处理器用于运行所述计算机程序时,执行权利要求1至9所述方法的步骤。
20.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至9所述方法的步骤。
CN202011560508.9A 2020-12-25 2020-12-25 全局悬浮窗的实现方法、实现装置、终端及存储介质 Pending CN112612468A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011560508.9A CN112612468A (zh) 2020-12-25 2020-12-25 全局悬浮窗的实现方法、实现装置、终端及存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011560508.9A CN112612468A (zh) 2020-12-25 2020-12-25 全局悬浮窗的实现方法、实现装置、终端及存储介质

Publications (1)

Publication Number Publication Date
CN112612468A true CN112612468A (zh) 2021-04-06

Family

ID=75245609

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011560508.9A Pending CN112612468A (zh) 2020-12-25 2020-12-25 全局悬浮窗的实现方法、实现装置、终端及存储介质

Country Status (1)

Country Link
CN (1) CN112612468A (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489898A (zh) * 2022-01-21 2022-05-13 阿里巴巴(中国)有限公司 悬浮窗的处理方法、电子设备及计算机可读存储介质
CN114911383A (zh) * 2022-06-02 2022-08-16 亿咖通(湖北)技术有限公司 窗口显示方法和车载终端
CN115599255A (zh) * 2022-12-16 2023-01-13 深圳蓝普视讯科技有限公司(Cn) 一种大屏可视化智能交互数据处理方法、装置及存储介质

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106126236A (zh) * 2016-06-24 2016-11-16 北京奇虎科技有限公司 终端屏幕的分屏显示方法、装置及终端
CN106909383A (zh) * 2017-02-24 2017-06-30 上海与德信息技术有限公司 应用程序的显示方法及显示装置
CN106980441A (zh) * 2017-03-29 2017-07-25 杭州弗凡科技有限公司 车载导航终端的悬浮窗***互方法及车载导航终端
US20170308861A1 (en) * 2015-05-11 2017-10-26 Tencent Technology (Shenzhen) Company Limited Instant messaging window display method and apparatus, and computer readable medium
WO2018001218A1 (zh) * 2016-06-27 2018-01-04 北京奇虎科技有限公司 视频播放方法、装置、程序及介质
CN108829304A (zh) * 2018-05-29 2018-11-16 维沃移动通信有限公司 一种显示控制方法及终端
CN109445572A (zh) * 2018-09-10 2019-03-08 华为技术有限公司 全屏显示视频中快速调出小窗口的方法、图形用户接口及终端
CN109582189A (zh) * 2018-11-26 2019-04-05 珠海格力电器股份有限公司 应用窗口管理方法和装置、移动终端
CN109840127A (zh) * 2018-12-29 2019-06-04 努比亚技术有限公司 终端及其显示控制方法、计算机可读存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20170308861A1 (en) * 2015-05-11 2017-10-26 Tencent Technology (Shenzhen) Company Limited Instant messaging window display method and apparatus, and computer readable medium
CN106126236A (zh) * 2016-06-24 2016-11-16 北京奇虎科技有限公司 终端屏幕的分屏显示方法、装置及终端
WO2018001218A1 (zh) * 2016-06-27 2018-01-04 北京奇虎科技有限公司 视频播放方法、装置、程序及介质
CN106909383A (zh) * 2017-02-24 2017-06-30 上海与德信息技术有限公司 应用程序的显示方法及显示装置
CN106980441A (zh) * 2017-03-29 2017-07-25 杭州弗凡科技有限公司 车载导航终端的悬浮窗***互方法及车载导航终端
CN108829304A (zh) * 2018-05-29 2018-11-16 维沃移动通信有限公司 一种显示控制方法及终端
CN109445572A (zh) * 2018-09-10 2019-03-08 华为技术有限公司 全屏显示视频中快速调出小窗口的方法、图形用户接口及终端
CN109582189A (zh) * 2018-11-26 2019-04-05 珠海格力电器股份有限公司 应用窗口管理方法和装置、移动终端
CN109840127A (zh) * 2018-12-29 2019-06-04 努比亚技术有限公司 终端及其显示控制方法、计算机可读存储介质

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114489898A (zh) * 2022-01-21 2022-05-13 阿里巴巴(中国)有限公司 悬浮窗的处理方法、电子设备及计算机可读存储介质
CN114911383A (zh) * 2022-06-02 2022-08-16 亿咖通(湖北)技术有限公司 窗口显示方法和车载终端
CN115599255A (zh) * 2022-12-16 2023-01-13 深圳蓝普视讯科技有限公司(Cn) 一种大屏可视化智能交互数据处理方法、装置及存储介质

Similar Documents

Publication Publication Date Title
CN112612468A (zh) 全局悬浮窗的实现方法、实现装置、终端及存储介质
US7216293B2 (en) Display control method, program product, and information processing apparatus for controlling objects in a container based on the container's size
US7017118B1 (en) Method and apparatus for reordering data items
CN1177274C (zh) 用于重叠窗口的音频标识符的数据处理器控制的显示***
CN1030804C (zh) 应用多维数据图符的方法与设备
WO2020180443A1 (en) Dynamic multi monitor display and flexible tile display
US20030142140A1 (en) Adjusting the tint of a translucent window to convey status
WO2007094268A1 (ja) 複数のウィンドウを重ねて表示する表示装置の表示を制御する制御装置、制御プログラムおよび制御方法
EP1269338A1 (en) Method and apparatus for intuitively administering networked computer systems
US20030142141A1 (en) Displaying specified resource usage
WO2022078199A1 (zh) 小程序控制方法、装置、设备及存储介质
CN110221889A (zh) 一种页面展示方法、装置、电子设备及存储介质
US20060020902A1 (en) Interactive graphical user interfaces for computer display systems with simplified implementation for exposing completely hidden windows
CN106155768A (zh) 分屏运行应用的方法及装置
CN114896002A (zh) 一种基于Wayland协议的浏览器应用窗口层级切换方法及装置
JPH09106402A (ja) 地理情報検索装置及び関連情報検索装置
CN110865718A (zh) 一种支持输入法应用在多屏切换的方法和装置
JP2642041B2 (ja) 図形エレメントを疑似直接編集する方法及びデータ処理システム
CN101436309B (zh) 一种修改公式运算符的方法和装置
TW201237730A (en) Method of adjusting windows and electronic device using same
US20040230918A1 (en) Window display controlling method, window display controlling apparatus, and computer readable record medium containing a program
CN109800039A (zh) 一种用户界面展示方法、装置、电子设备及存储介质
CN112433723B (zh) 个性化列表开发方法及装置
CN111459600B (zh) 一种单页面多维度穿透场景可视化展示的交互方法及***
CN107391144A (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