CN107133022A - 终端设备中的控件显示方法和装置 - Google Patents
终端设备中的控件显示方法和装置 Download PDFInfo
- Publication number
- CN107133022A CN107133022A CN201610109762.4A CN201610109762A CN107133022A CN 107133022 A CN107133022 A CN 107133022A CN 201610109762 A CN201610109762 A CN 201610109762A CN 107133022 A CN107133022 A CN 107133022A
- Authority
- CN
- China
- Prior art keywords
- display
- screen
- window
- control
- end points
- 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.)
- Granted
Links
Abstract
本申请公开了终端设备中的控件显示方法和装置。该方法的一具体实施方式包括:从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。实现在多屏显示状态下,控制控件的显示和隐藏。
Description
技术领域
本申请涉及计算机领域,具体涉及终端领域,尤其涉及终端设备中的控件显示方法和装置。
背景技术
控件是在应用的开发中被广泛于应用的组件。当显示控件的屏幕上存在全屏应用时,为减少对全屏应用显示的内容的干扰,会对屏幕上的控件进行隐藏。当全屏应用被关闭时,可以重新显示控件。在检测控件所在的屏幕上是否存在全屏应用时,通常采用的方式为:分别获取当前运行的所有应用的窗口的大小,然后,与屏幕的大小逐一进行比较,判断是否存在等于屏幕的大小的窗口。
然而,当采用上述方式检测是否存在全屏应用时,无法在多屏显示的情况下,判断控件所在的屏幕是否存在全屏应用,进而无法在多屏显示状态下,控制的控件显示和隐藏。
发明内容
本申请提供了终端设备中的控件显示方法和装置,用于解决上述背景技术部分存在的技术问题。
第一方面,本申请提供了终端设备中的控件显示方法,该方法包括:从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。
第二方面,本申请提供了终端设备中的控件显示装置,该装置包括:确定单元,用于从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断单元,用于判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;处理单元,用于当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。
本申请提供的终端设备中的控件显示方法和装置,通过从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。实现了在多屏显示状态下,控制控件的显示和隐藏。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出了根据本发明的终端设备中的控件显示方法的一个实施例的流程图;
图2示出了悬浮窗占据多个显示屏幕的一个效果示意图;
图3示出了悬浮窗占据单个显示屏幕的一个效果示意图;
图4示出了根据本发明的终端设备中的控件显示装置的一个实施例的结构示意图;
图5是具有根据本发明的控件显示装置的终端设备的方框示意图;和
图6示出了具有根据本发明的控件显示装置的终端设备的硬件结构示意图。
具体实施方式
下面结合附图和实施例对本申请作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释相关发明,而非对该发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与有关发明相关的部分。
需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。下面将参考附图并结合实施例来详细说明本申请。
请参考图1,其示出了根据本申请的终端设备中的控件显示方法的一个实施例的流程100。该方法包括以下步骤:
步骤101,从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
在本实施例中,控件可以为与运行于终端设备上的应用预先绑定的控件,控件可以用于获取应用的属性信息并显示属性信息。当应用在终端设备上加载时,会同时对控件进行加载。控件的形状可以为任意形状以及可以采用多种形式进行呈现,例如,控件为球形,以悬浮形式进行呈现。
在本实施例中,控件对应的显示区域为在显示控件时,控件占据的屏幕上的显示区域。运行控件的终端可以具有多个屏幕,多个屏幕可以横向排列,也可以纵向排列,还可以在呈阵列状排列。在终端处于多屏显示状态时,控件对应的显示区域可以属于一个屏幕,也可以属于多个屏幕。以控件对应的显示区域属于两个屏幕为例,控件对应的显示区域可以一部分属于一个屏幕,另一部分属于另一个屏幕。
在本实施例中,可以采用以下方式确定出包含控件所对应的显示区域的一个或多个显示屏幕:以控件为悬浮窗为例,可以首先获取悬浮窗的各个角端点的坐标。在多屏显示状态下,可以以其中一个屏幕为基准,建立二维坐标系。例如,以多个屏幕中最左端的屏幕为基准,建立二维坐标系,最左端的屏幕的左上角的角端点可以作为二维坐标系的坐标系原点。上述获取到的悬浮窗的各个角端点的坐标可以为该坐标系下的坐标,相应地,在该坐标系下,每一个屏幕的角端点都具有一个坐标。每一个屏幕在水平方向上左端和右端的位置可以构成一个区间。每一个屏幕在垂直方向上顶端和底端的位置也可以构成一个区间。可以根据悬浮窗的角端点的横坐标或纵坐标所处的区间,确定包含控件所对应的显示区域的一个或多个显示屏幕。例如,当多个屏幕为横向排列时,可以根据角端点的横坐标所处的区间确定角端点所在的屏幕,进而确定出包含控件所对应的显示区域的一个或多个显示屏幕,同时,可以获取到显示屏幕的角端点的坐标。
在本实施例的一些可选的实现方式中,控件为悬浮窗;以及从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕包括:获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;以及基于所获取的屏幕句柄信息,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
在本实施例中,当控件为悬浮窗时,还可以通过获取悬浮窗的角端点所属的屏幕的屏幕句柄信息的方式,确定出包含控件所对应的显示区域的一个或多个显示屏幕:可以首先获取悬浮窗的句柄,然后,从悬浮窗的句柄中获取悬浮窗的矩形窗口的角端点的坐标,即悬浮窗的矩形窗口的左上角、左下角、右上角、右下角的角端点的坐标,进一步获取角端点所属的显示屏幕的屏幕句柄信息。例如,可以将角端点的坐标作为windows系统函数MonitorFromPoint函数的输入参数,MonitorFromPoint函数的返回值为角端点所属的显示屏幕的屏幕句柄信息。从而,可以根据角端点所属的显示屏幕的屏幕句柄信息,确定出包含控件所对应的显示区域的一个或多个显示屏幕。例如,当角端点的句柄信息为同一句柄信息时,则可以确定包含控件所对应的显示区域的屏幕为单个显示屏幕。又例如,当角端点的句柄信息为不同的句柄信息时,则可以确定包含控件所对应的显示区域的显示屏幕为多个显示屏幕。
步骤102,判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
在本实施例中,在通过步骤101确定出包含控件所对应的显示区域的一个或多个显示屏幕之后,可以进一步判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
在本实施例的一些可选的实现方式中,控件为悬浮窗;以及判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;以及基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
在本实施例的一些可选的实现方式中,获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息包括:获取悬浮窗的各个角端点的位置信息;基于悬浮窗的各个角端点的位置信息,分别获取各个角端点所属的显示屏幕的屏幕句柄信息。
在本实施例的一些可选的实现方式中,基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;基于所确定的各个角端点的位置信息,获取各个角端点对应的窗口句柄信息集合;以及在各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
在本实施例中,当控件为悬浮窗时,可以采用以下方式确定在包含控件所对应的显示区域的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕:以windows操作系统为例,可以首先获取显示屏幕的屏幕句柄信息,从而获取到屏幕句柄信息中的显示屏幕的角端点的坐标,即显示屏幕的左上角、右上角、左下角、右下角的端点的坐标。然后,可以分别获取显示屏幕的各个角端点各自对应的窗口句柄集合。例如,可以将显示屏幕的角端点的坐标作为windows系统函数WindowFromPoint函数输入参数,WindowFromPoint函数的返回值为显示屏幕的各个角端点各自对应的窗口句柄集合,窗口句柄集合中每一个窗口句柄为包含角端点的窗口的句柄。以显示屏幕的左上角的角端点对应的窗口句柄集合为例,该窗口句柄集合中的每一个窗口句柄为包含左上角的角端点的窗口的句柄。当窗口句柄集合中是否均包含同一个窗口句柄时,换言之,存在一个窗口的句柄对应的窗口同时包含了显示屏幕的左上角、右上角、左下角、右下角的角端点时,则可以确定该窗口句柄对应的窗口处于全屏显示状态,即可以确定存在显示处于全屏显示状态的窗口的显示屏幕。
在本实施例中,当在步骤101中,通过获取悬浮窗的角端点所属的显示屏幕的屏幕句柄信息的方式,确定出包含控件所对应的显示区域的一个或多个显示屏幕时,则可以在确定在包含控件所对应的显示区域的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,无需再获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息,而直接从步骤101中获取到的悬浮窗的角端点所属的显示屏幕的屏幕句柄信息中,获取到显示屏幕的角端点的坐标,进一步分别获取显示屏幕的各个角端点各自对应的窗口句柄集合,以确定存在显示处于全屏显示状态的窗口的显示屏幕。
请参考图2,其示出了悬浮窗占据多个显示屏幕的一个效果示意图。
在图2中,示出了在终端的多个显示屏幕横向排列时,第N个显示屏幕即屏幕N和第N+1个屏幕即屏幕N+1,以及悬浮窗1、悬浮窗2、悬浮窗3。悬浮窗1对应的显示区域在显示屏幕N中,悬浮窗2对应的显示区域一部分在显示屏幕N中,另一部分在显示屏幕N+1中。悬浮窗3对应的显示区域在显示屏幕N+1。显示屏幕N的角端点为A、B、C、D。显示屏幕N+1的角端点为E、F、G、H。
以检测对象为悬浮窗2为例,说明判断显示屏幕中每一个显示屏幕上是否存在处于全屏显示状态的窗口的过程:可以首先获取悬浮窗2对应的显示区域所属的显示屏幕N和显示屏幕N+1的屏幕句柄信息,显示屏幕N的屏幕句柄信息中包含显示屏幕N的角端点A、B、C、D的坐标,显示屏幕N+1的屏幕句柄信息中包含显示屏幕N+1的角端点E、F、G、H的坐标。以显示屏幕N为例,可以分别获取角端点A、B、C、D对应的窗口句柄集合,当角端点A、B、C、D各自对应的窗口句柄集合均包含同一窗口句柄时,则可以确定存在一个窗口包含角端点A、B、C、D,换言之,显示屏幕N中存在处于全屏显示状态的窗口。
在本实施例的一些可选的实现方式中,控件为悬浮窗,以及在确定出包含控件所对应的显示区域的显示屏幕是单个显示屏幕的情况下,判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:获取显示屏幕的各个角端点的位置信息;基于所确定的各个角端点的位置信息,获取各个角端点对应的窗口句柄信息集合;以及在各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定显示屏幕存在处于全屏显示状态的窗口。
请参考图3,其示出了悬浮窗占据单个显示屏幕的一个效果示意图。
在图3中,示出了显示屏幕N和悬浮窗。显示屏幕N为具有多个显示屏幕的终端处于单屏显示状态下时,用于进行显示的屏幕,悬浮窗对应的显示区域在显示屏幕N上。显示屏幕N的角端点为A、B、C、D。在判断显示屏幕中显示屏幕N上是否存在处于全屏显示状态的窗口时,仅需获取显示屏幕N的分辨率信息,即可获取到分辨率信息中的显示屏幕的角端点A、B、C、D的坐标。然后,分别获取角端点A、B、C、D对应的窗口句柄集合,当角端点A、B、C、D各自对应的窗口句柄集合均包含同一窗口句柄时,则可以确定存在一个窗口包含角端点A、B、C、D。
步骤103,基于确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕,控制控件的显示或隐藏。
在本实施例中,当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理(例如,设置)为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。
在本实施例中,当通过步骤102判断出包含控件所对应的显示区域的显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,可以将控件处理为隐藏状态,即不显示控件。当通过步骤102判断出包含控件所对应的显示区域的显示屏幕均不是显示处于全屏显示状态的窗口的显示屏幕时,可以将之前隐藏的控件处理为显示状态。
在本实施例中,可以每间隔预设时间段来执行上述步骤101、步骤102、步骤103,从而循环检测控件对应的显示区域所在的显示屏幕中是否存在处于全屏显示状态的窗口,根据检测结果,控制控件的显示和隐藏。
在本实施例中,通过检查悬浮窗所在的屏幕的端点是否位于同一个窗口中,若是,则可以确定显示屏中存在处于全屏显示状态的窗口,同时将悬浮窗进行隐藏,若否,将悬浮窗进行显示。相较于现有技术中通过枚举所有可见窗口,判断可见窗口的大小与屏幕分辨率是否相同的方式,提升了判断速度。
在本实施例的一些可选的实现方式中,从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕包括:响应于所获取的控件句柄消息,从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕,其中控件句柄消息包括:用于指示存在全屏显示窗口的消息和/或用于指示全屏显示窗口退出全屏显示状态的消息。
在本实施例中,可以在接收到控件句柄消息(例如,广播消息)后,响应于所接收到的控件句柄消息,从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕。以windows操作系统为例,可以预先创建windows系统支持的消息控件Appbar控件,并且将Appbar控件与悬浮窗的句柄进行绑定。可以利用该Appbar控件接收windows操作系统内核发送的广播消息。同时,将该Appbar控件在操作系统的任务栏中进行注册。
下面简述接收广播消息的过程:当windows操作系统内核中用于检测窗口变化的线程检测到任务栏中的有窗口处于全屏显示状态或有全屏显示状态窗口被关闭时,可以生成指示有窗口处于全屏显示状态的广播消息或指示有全屏显示状态的窗口被关闭的广播消息。广播消息中可以包含wparam参数和lparam参数。当有窗口处于全屏显示状态时,生成的广播消息中wparam参数为ABN_FULLSCREENAPP,lparam参数为1。当有全屏显示状态的窗口被关闭时,生成的广播消息中wparam参数为ABN_FULLSCREENAPP,lparam参数为0。生成的广播消息会以广播方式发送,这样,预先注册到任务栏中的上述Appbar控件则可以接收到该广播消息。
在本实施例中,在接收到的广播消息之后,可以执行步骤101、步骤102、步骤103来判断控件对应的显示区域所属的屏幕是否存在处于全屏显示状态的窗口,从而根据判断结果,控制控件的显示或隐藏。例如,当接收到广播消息为用于指示存在全屏显示窗口的消息时,可以通过执行步骤101、步骤102、步骤103来判断控件对应的显示区域所属的屏幕中是否有处于全屏显示状态的窗口,从而,可以进一步确定是否需要将控件处理为隐藏状态,对控件进行隐藏。又例如,当接收到广播消息为指示有全屏显示状态的窗口被关闭的消息时,通过执行步骤101、步骤102、步骤103来判断控件对应的显示区域所属的屏幕中是否有处于全屏显示状态的窗口被关闭,可以进一步确定在控件处于隐藏状态时,是否将控件处理为显示状态,即重新将之前被隐藏的控件进行显示。
本申请的上述实施例提供的方法实现了在多屏显示状态下,控制控件的显示和隐藏。
进一步参考图4,作为对上述各图所示方法的实现,本申请提供了一种终端设备中的控件显示装置的一个实施例,该装置实施例与图1所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
如图4所示,本实施例的终端设备中的控件显示装置400包括:确定单元401,判断单元402,处理单元403。其中,确定单元401用于从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断单元402用于判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;处理单元403用于当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将控件处理为显示状态。
在本实施例中,确定单元401可以从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕。在本实施例中,控件对应的显示区域为在显示控件时,控件占据的屏幕上的显示区域。运行控件的终端可以具有多个屏幕,多个屏幕可以横向排列,也可以纵向排列,还可以在呈阵列状排列。在终端处于多屏显示状态时,控件对应的显示区域可以属于一个屏幕,也可以属于多个屏幕。以控件对应的显示区域属于两个屏幕为例,控件对应的显示区域可以一部分属于一个屏幕,另一部分属于另一个屏幕。
在本实施例中,判断单元402可以在通过确定单元401确定出包含控件所对应的显示区域的一个或多个显示屏幕之后,进一步判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
在本实施例中,处理单元403可以基于判断单元402确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕,控制控件的显示或隐藏。
在本实施例的一些可选的实现方式中,控件为悬浮窗,以及判断单元402包括:第一获取子单元(未示出),用于获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;第一确定子单元(未示出),用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
在本实施例的一些可选的实现方式中,第一获取子单元包括:第一获取模块(未示出),用于获取悬浮窗的各个角端点的位置信息;第二获取模块(未示出),用于基于悬浮窗的各个角端点的位置信息,分别获取各个角端点所属的显示屏幕的屏幕句柄信息。
在本实施例的一些可选的实现方式中,第一确定子单元包括:第一确定模块(未示出),用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;第三获取模块(未示出),用于基于所确定的各个角端点的位置信息,获取各个角端点对应的窗口句柄信息集合;第二确定模块(未示出),用于在各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
在本实施例的一些可选的实现方式中,控件为悬浮窗,以及判断单元402包括:第二获取子单元(未示出),用于在确定出包含控件所对应的显示区域的显示屏幕是单个显示屏幕的情况下,获取显示屏幕的各个角端点的位置信息;第三获取子单元(未示出),用于基于所确定的各个角端点的位置信息,获取各个角端点对应的窗口句柄信息集合;第二确定子单元(未示出),用于在各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定显示屏幕存在处于全屏显示状态的窗口。
在本实施例的一些可选的实现方式中,控件为悬浮窗,以及确定单元401包括:第四获取子单元(未示出),用于获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;第三确定子单元(未示出),用于基于所获取的屏幕句柄信息,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
在本实施例的一些可选的实现方式中,判断单元402还包括:第四确定子单元(未示出),用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;第五获取子单元(未示出),用于基于所确定的各个角端点的位置信息,获取各个角端点对应的窗口句柄信息集合;第五确定子单元(未示出),用于在各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
在本实施例的一些可选的实现方式中,控件显示装置400包括:获取单元(未示出),用于获取控件句柄消息,其中控件句柄消息包括:用于指示存在全屏显示窗口的消息和/或用于指示全屏显示窗口退出全屏显示状态的消息,以及确定单元用于响应于所获取的控件句柄消息,从终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
本发明实施例还提供了一种终端设备,该终端设备可以包括图4对应实施例中所描述的终端设备中的控件显示装置。
下面参考图5,其是具有根据本发明的控件显示装置的终端设备的方框示意图。
在图5中,示出了终端501、控件显示装置502。终端501包含控件显示装置502。
下面参考图6,其示出了具有根据本发明所述的控件显示功能的终端设备600的硬件结构示意图。
如图6所示,终端设备600包括中央处理单元(CPU)601、存储器602、显示单元603,其中,CPU 601、存储器602、显示单元603通过总线604彼此相连。显示单元603包含多个屏幕,多个屏幕可以横向排列、纵向排列、呈阵列状排列。在此,根据本申请的方法可以被实现为计算机程序,并且存储在存储器602中。终端600中的CPU601通过调用存储器602中存储的上述计算机程序,来具体实现本申请的方法中限定的控件显示的功能。
终端设备600可以是具有显示屏并且支持网络通信的各种电子设备,包括但不限于智能手机、平板电脑、电子书阅读器、MP3播放器(Moving Picture Experts Group Audio Layer III,动态影像专家压缩标准音频层面3)、MP4(Moving Picture Experts Group Audio Layer IV,动态影像专家压缩标准音频层面4)播放器、膝上型便携计算机和台式计算机等等。
作为另一方面,本申请还提供了一种非易失性计算机存储介质,该非易失性计算机存储介质可以是上述实施例中所述装置中所包含的非易失性计算机存储介质;也可以是单独存在,未装配入终端中的非易失性计算机存储介质。上述非易失性计算机存储介质存储有一个或者多个程序,当所述一个或者多个程序被一个设备执行时,使得所述设备:从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为显示状态。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离所述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
Claims (17)
1.一种终端设备中的控件显示方法,其特征在于,所述方法包括:
从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;
判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;
当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为显示状态。
2.根据权利要求1所述的控件显示方法,其特征在于,所述控件为悬浮窗;以及
判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:
获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;以及
基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
3.根据权利要求2所述的控件显示方法,其特征在于,获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息包括:
获取悬浮窗的各个角端点的位置信息;
基于所述悬浮窗的各个角端点的位置信息,分别获取所述各个角端点所属的显示屏幕的屏幕句柄信息。
4.根据权利要求3所述的控件显示方法,其特征在于,基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:
基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;
基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;以及
在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
5.根据权利要求1所述的控件显示方法,其特征在于,所述控件为悬浮窗,以及在确定出包含控件所对应的显示区域的显示屏幕是单个显示屏幕的情况下,判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:
获取所述显示屏幕的各个角端点的位置信息;
基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;以及
在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所述显示屏幕存在处于全屏显示状态的窗口。
6.根据权利要求1所述的控件显示方法,其特征在于,所述控件为悬浮窗;以及
从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕包括:
获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;以及
基于所获取的屏幕句柄信息,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
7.根据权利要求6所述的控件显示方法,其中,判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕包括:
基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;
基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;以及
在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
8.根据权利要求1-7中任一权利要求所述的控件显示方法,其特征在于,从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕包括:
响应于所获取的控件句柄消息,从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕,其中所述控件句柄消息包括:用于指示存在全屏显示窗口的消息和/或用于指示全屏显示窗口退出全屏显示状态的消息。
9.一种终端设备中的控件显示装置,其特征在于,所述装置包括:
确定单元,用于从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕;
判断单元,用于判断所确定出的一个或多个显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕;
处理单元,用于当所确定出的一个或多个显示屏幕中存在至少一个显示处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为隐藏状态;当所确定出的一个或多个显示屏幕中不存在处于全屏显示状态的窗口的显示屏幕时,将所述控件处理为显示状态。
10.根据权利要求9所述的控件显示装置,其特征在于,所述控件为悬浮窗,以及所述判断单元包括:
第一获取子单元,用于获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;
第一确定子单元,用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕中是否存在至少一个显示处于全屏显示状态的窗口的显示屏幕。
11.根据权利要求10所述的控件显示装置,其特征在于,所述第一获取子单元包括:
第一获取模块,用于获取悬浮窗的各个角端点的位置信息;
第二获取模块,用于基于所述悬浮窗的各个角端点的位置信息,分别获取所述各个角端点所属的显示屏幕的屏幕句柄信息。
12.根据权利要求11所述的控件显示装置,其特征在于,所述第一确定子单元包括:
第一确定模块,用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;
第三获取模块,用于基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;
第二确定模块,用于在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
13.根据权利要求9所述的控件显示装置,其特征在于,所述控件为悬浮窗,以及所述判断单元包括:
第二获取子单元,用于在确定出包含控件所对应的显示区域的显示屏幕是单个显示屏幕的情况下,获取所述显示屏幕的各个角端点的位置信息;
第三获取子单元,用于基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;
第二确定子单元,用于在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所述显示屏幕存在处于全屏显示状态的窗口。
14.根据权利要求9所述的控件显示装置,其特征在于,所述控件为悬浮窗,以及所述确定单元包括:
第四获取子单元,用于获取悬浮窗的各个角端点所属的显示屏幕的屏幕句柄信息;
第三确定子单元,用于基于所获取的屏幕句柄信息,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
15.根据权利要求14所述的控件显示装置,其特征在于,所述判断单元还包括:
第四确定子单元,用于基于所获取的各个屏幕句柄信息,确定所对应的显示屏幕的各个角端点的位置信息;
第五获取子单元,用于基于所确定的各个角端点的位置信息,获取所述各个角端点对应的窗口句柄信息集合;
第五确定子单元,用于在所述各个角端点对应的窗口句柄信息集合都包含同一窗口句柄信息时,确定所对应的显示屏幕存在处于全屏显示状态的窗口。
16.根据权利要求9-15中任一权利要求所述的控件显示装置,其特征在于,所述控件显示装置包括:
获取单元,用于获取控件句柄消息,其中所述控件句柄消息包括:用于指示存在全屏显示窗口的消息和/或用于指示全屏显示窗口退出全屏显示状态的消息,以及
所述确定单元用于响应于所获取的控件句柄消息,从所述终端设备上显示的显示屏幕中,确定出包含控件所对应的显示区域的一个或多个显示屏幕。
17.一种终端设备,其特征在于,包括如权利要求9-16中任一权利要求所述的控件显示装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610109762.4A CN107133022B (zh) | 2016-02-26 | 2016-02-26 | 终端设备中的控件显示方法和装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610109762.4A CN107133022B (zh) | 2016-02-26 | 2016-02-26 | 终端设备中的控件显示方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN107133022A true CN107133022A (zh) | 2017-09-05 |
CN107133022B CN107133022B (zh) | 2021-05-25 |
Family
ID=59721625
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610109762.4A Active CN107133022B (zh) | 2016-02-26 | 2016-02-26 | 终端设备中的控件显示方法和装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107133022B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108182101A (zh) * | 2017-12-26 | 2018-06-19 | 深圳豪客互联网有限公司 | 一种对话框弹出控制方法及系统 |
CN109753214A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 处理方法、装置、设备和机器可读介质 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229232A1 (en) * | 2007-03-16 | 2008-09-18 | Apple Inc. | Full screen editing of visual media |
CN102156615A (zh) * | 2011-04-01 | 2011-08-17 | 奇智软件(北京)有限公司 | 一种悬浮窗显示方法及装置 |
CN103037038A (zh) * | 2011-06-30 | 2013-04-10 | 爱默杰有限责任公司 | 全屏模式 |
CN103150095A (zh) * | 2013-03-07 | 2013-06-12 | 东莞宇龙通信科技有限公司 | 终端和终端操控方法 |
CN103593116A (zh) * | 2012-08-15 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 便携式终端工具栏的显示和控制方法、及其装置 |
CN104007895A (zh) * | 2014-05-15 | 2014-08-27 | 广州金山网络科技有限公司 | 一种确定终端是否处于全屏模式的方法及装置 |
-
2016
- 2016-02-26 CN CN201610109762.4A patent/CN107133022B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080229232A1 (en) * | 2007-03-16 | 2008-09-18 | Apple Inc. | Full screen editing of visual media |
CN102156615A (zh) * | 2011-04-01 | 2011-08-17 | 奇智软件(北京)有限公司 | 一种悬浮窗显示方法及装置 |
CN103037038A (zh) * | 2011-06-30 | 2013-04-10 | 爱默杰有限责任公司 | 全屏模式 |
CN103593116A (zh) * | 2012-08-15 | 2014-02-19 | 腾讯科技(深圳)有限公司 | 便携式终端工具栏的显示和控制方法、及其装置 |
CN103150095A (zh) * | 2013-03-07 | 2013-06-12 | 东莞宇龙通信科技有限公司 | 终端和终端操控方法 |
CN104007895A (zh) * | 2014-05-15 | 2014-08-27 | 广州金山网络科技有限公司 | 一种确定终端是否处于全屏模式的方法及装置 |
Non-Patent Citations (3)
Title |
---|
[美]JULIO SANCHEZ 等著,罗骏 等译: "《WINDOWS图形编程》", 31 May 2000, 北京:清华大学出版社 * |
[美]STEVE TEIXEIRA 等著,任旭钧 等译: "《Delphi 5开发人员指南》", 31 July 2000, 北京:机械工业出版社 * |
百度文库: ""如何找回隐藏的流量悬浮窗?再次启用流量悬浮窗的方法"", 《HTTPS://WENKU.BAIDU.COMVIEWDE684AC0195F312B3169A58E.HTML》 * |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN109753214A (zh) * | 2017-11-06 | 2019-05-14 | 阿里巴巴集团控股有限公司 | 处理方法、装置、设备和机器可读介质 |
CN108182101A (zh) * | 2017-12-26 | 2018-06-19 | 深圳豪客互联网有限公司 | 一种对话框弹出控制方法及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN107133022B (zh) | 2021-05-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN107765952A (zh) | 截屏方法、装置及终端 | |
CN105579946B (zh) | 对由应用产生的共享状态信息进行管理 | |
CN107765971A (zh) | 用户界面显示方法及设备 | |
US10049625B1 (en) | Context-based rendering | |
CN108108048A (zh) | 触摸感测系统及其控制方法 | |
AU2013222958A1 (en) | Method and apparatus for object size adjustment on a screen | |
US20140068495A1 (en) | Apparatus and method for processing handwriting input | |
US20150029231A1 (en) | Method and system for rendering a sliding object | |
CN104615336A (zh) | 一种信息处理方法及电子设备 | |
US20180284954A1 (en) | Identifying a target area to display a popup graphical element | |
CN103336787B (zh) | 一种用于缩放网页的方法和装置 | |
CN106708399A (zh) | 用于具有双侧边曲面屏幕的电子终端的触控方法和设备 | |
CN104951127A (zh) | 用于生成显示覆盖的系统和方法以及显示系统 | |
CN103414829A (zh) | 一种控制屏幕内容的方法、装置及终端设备 | |
CN105512124B (zh) | 在网页中实现文本编辑器悬浮的方法和装置 | |
CN106339158A (zh) | 基于大数据的静态图片的动态展示方法及装置 | |
CN107133022A (zh) | 终端设备中的控件显示方法和装置 | |
CN103606179A (zh) | 一种动画图像显示方法及装置 | |
CN103870117B (zh) | 一种信息处理方法及电子设备 | |
CN103677713B (zh) | 一种信息处理方法及电子设备 | |
CN105760064A (zh) | 显示内容的方法和实现所述方法的电子设备 | |
TW201237730A (en) | Method of adjusting windows and electronic device using same | |
CN103677550B (zh) | 一种信息处理方法及电子设备 | |
JP5795916B2 (ja) | 画像処理装置、画像処理方法 | |
CN103809972B (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 |