CN113553122A - 浮层控制方法、装置、设备及计算机可读介质 - Google Patents

浮层控制方法、装置、设备及计算机可读介质 Download PDF

Info

Publication number
CN113553122A
CN113553122A CN202110772679.6A CN202110772679A CN113553122A CN 113553122 A CN113553122 A CN 113553122A CN 202110772679 A CN202110772679 A CN 202110772679A CN 113553122 A CN113553122 A CN 113553122A
Authority
CN
China
Prior art keywords
floating layer
floating
determining
layer
attribute information
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
CN202110772679.6A
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 QIYI Century Science and Technology Co Ltd
Original Assignee
Beijing QIYI Century Science and 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 QIYI Century Science and Technology Co Ltd filed Critical Beijing QIYI Century Science and Technology Co Ltd
Priority to CN202110772679.6A priority Critical patent/CN113553122A/zh
Publication of CN113553122A publication Critical patent/CN113553122A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • 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)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

本申请涉及一种浮层控制方法、装置、设备及计算机可读介质。该方法包括:在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。本申请通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,解决了系统无法根据浮层状态执行适当的操作的技术问题。

Description

浮层控制方法、装置、设备及计算机可读介质
技术领域
本申请涉及互联网技术领域,尤其涉及一种浮层控制方法、装置、设备及计算机可读介质。
背景技术
随着业务不断发展,应用页面越来越多的控件支持用户交互、承载业务逻辑,比如用户点击按钮后拉起新的广告页面。页面上的浮层组成了一个复杂的树形结构,浮层之间会相互遮盖。浮层数量的增加导致树形结构逐渐复杂化,带来了浮层管理问题。尤其对于遮盖敏感度高的业务场景(如播放器被遮盖时暂停,无遮盖时正常播放),增加了维护难度。
目前,相关技术中的浮层管理主要是,浮层业务方打开或关闭时给播放器发送回调,播放器根据业务决定是否暂停或播放。发明人研究发现,这种技术对所有的浮层没有统一的管理方案,每种新业务的接入都需要单独设置,业务接入和维护成本非常高,一旦逻辑较为复杂,系统无法根据浮层状态执行适当的操作。
针对逻辑较为复杂时系统无法根据浮层状态执行适当的操作的问题,目前尚未提出有效的解决方案。
发明内容
本申请提供了一种浮层控制方法、装置、设备及计算机可读介质,以解决逻辑较为复杂时系统无法根据浮层状态执行适当的操作的技术问题。
根据本申请实施例的一个方面,本申请提供了一种浮层控制方法,包括:
在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息包括:
确定透明参数的浮点值,属性参数包括透明参数;
在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息还包括:
确定隐藏参数的布尔值,属性参数包括隐藏参数;
在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐藏。
可选地,确定第一浮层和第二浮层在页面中的层级关系包括:
确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
可选地,利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态包括:
在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
可选地,确定第二浮层对第一浮层的遮盖状态为遮盖之前,所述方法还包括:
调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为iOS开发平台提供的坐标转换函数;
在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
可选地,根据遮盖状态对第一浮层执行相应的目标操作包括:
在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
可选地,所述方法还包括按照如下方式监听第一浮层所在的页面:
向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
获取继承自页面的视图操作接口的所有子视图操作接口;
监听所有子视图操作接口,以监听第一浮层所在的页面。
根据本申请实施例的另一方面,本申请提供了一种浮层控制装置,包括:
浮层监听模块,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
遮盖状态确定模块,用于确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
控制模块,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
根据本申请实施例的另一方面,本申请提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
根据本申请实施例的另一方面,本申请还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
本申请实施例提供的上述技术方案与相关技术相比具有如下优点:
本申请技术方案为在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。本申请通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
为了更清楚地说明本申请实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为根据本申请实施例提供的一种可选的浮层控制方法硬件环境示意图;
图2为根据本申请实施例提供的一种可选的浮层控制方法流程图;
图3为根据本申请实施例提供的一种可选的浮层控制装置框图;
图4为本申请实施例提供的一种可选的电子设备结构示意图。
具体实施方式
为使本申请实施例的目的、技术方案和优点更加清楚,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本申请的一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。
在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本申请的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
相关技术中,浮层管理主要是,浮层业务方打开或关闭时给播放器发送回调,播放器根据业务决定是否暂停或播放。发明人研究发现,这种技术对所有的浮层没有统一的管理方案,每种新业务的接入都需要单独设置,业务接入和维护成本非常高,一旦逻辑较为复杂,系统无法根据浮层状态执行适当的操作。
为了解决背景技术中提及的问题,根据本申请实施例的一方面,提供了一种浮层控制方法的实施例。本申请技术方案可以应用于iOS系统的程序页面、浏览器页面中的浮层管理,基于分析浮层的属性信息和浮层之间的层级关系确定浮层之间是否存在遮挡,并根据遮挡状态执行适当的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理,解决了系统无法根据浮层状态执行适当的操作的技术问题。
可选地,在本申请实施例中,上述方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于PC、手机、平板电脑等。
本申请实施例中的一种方法可以由服务器103来执行,可以是由终端101来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
步骤S202,在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息。
程序的页面、浏览器的页面中存在很多显示元素,众多显示元素可以在同一个页面中呈现,显示元素可以是一个个浮层,如播放器、框、按钮等UI控件。在计算机程序实现中,页面为根视图,页面上的显示元素是通过一个个子视图来承载的,即浮层/UI控件通过子视图在根视图(页面)上展示。
本申请实施例中,第一浮层为待控制的浮层,需要根据第一浮层所在页面中的其他浮层的状态来判断该如何控制第一浮层执行下一步操作。第二浮层即第一浮层所在页面中除第一浮层之外的其他浮层,第二浮层的状态发生变化时,需要确定改变状态后的第二浮层是否会影响到第一浮层,进而判断是否对第一浮层执行对应的操作。第二浮层的状态通过其属性信息体现。第二浮层的状态发生变化的出发操作可以是在页面中添加该第二浮层、删除该第二浮层、调整该第二浮层的参数等等。
步骤S204,确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态。
本申请实施例中,为了确定第二浮层是否会影响(遮盖)第一浮层,除了确定第二浮层的属性信息之外,还需要确定第一浮层和第二浮层的位置关系,即第一浮层和第二浮层在页面中的层级关系,具体可以在以页面为根视图,各个浮层所在的子视图为节点构建的视图树中确定第一浮层和第二浮层在页面中的层级关系。
视图树中根视图的层级最高,根视图的第一级子视图的层级次之,第一级子视图为与根视图直接连接的子视图。依此类推,距离根视图越远的子视图,其层级关系越低。视图与视图之间的层级关系可以是具有继承关系的父、子视图,还可以是不具有继承关系但不在同一层级或在同一层级的两个视图。如第一浮层为第二浮层的父视图,或第一浮层为第二浮层的子视图。又例如,第一浮层为第一层级,第二浮层为低于第一层级的第二层级,则认为第二浮层在第一浮层的子视图层,因为第二浮层不是第一浮层子视图,但与第一浮层的子视图在相同的层级,也就是说,低于第一层级的视图层都认为是在第一浮层的子视图层。同理,高于第一层级的视图层都认为是第一浮层的父视图层。
本申请实施例中,在确定第二浮层的属性信息和第一浮层与第二浮层之间的层级关系之后,即可利用上述信息确定第二浮层对第一浮层的遮盖状态,即确定第二浮层是否遮挡第一浮层。
步骤S206,根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
本申请实施例中,若第二浮层遮盖第一浮层,则对第一浮层执行相应被遮盖时的应对操作,若第二浮层未遮盖第一浮层,则对第一浮层执行相应未被遮盖时的应对操作。执行目标操作是为了根据第一浮层所在的业务提供相应的服务,如,若第一浮层为播放器控件,则第一浮层的业务为播放视频,那么在第一浮层被遮挡的情况下,其应对操作为暂停播放,在第一浮层未被遮挡的情况下,其应对操作为正常播放。
采用本申请技术方案,通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息包括:
确定透明参数的浮点值,属性参数包括透明参数;
在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
本申请实施例中,为iOS系统的程序页面、浏览器页面提供浮层控制功能可以是基于Objective-C语言,其中第一浮层(UI控件)是否被第二浮层遮盖,可以根据第二浮层的浮层视图UIView的属性信息进行判断,如透明参数alpha。Alpha是一个浮点值,取值范围0到1.0,表示从完全透明到完全不透明。当alpha为0时,当前的UIView和subview(子视图)虽然都存在于页面上,然而却不可见,而不管subview的alpha值为多少。
所述预设阈值可以根据实际需要进行设置,第二浮层的alpha值小于该预设阈值,则认为alpha为0,第二浮层被设置为完全透明,若第二浮层的alpha值大于或等于该预设阈值,则认为alpha为1.0,第二浮层被设置为不透明。
可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息还包括:
确定隐藏参数的布尔值,属性参数包括隐藏参数;
在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐藏。
本申请实施例中,第一浮层(UI控件)是否被第二浮层遮盖,可以根据第二浮层的浮层视图UIView的属性信息进行判断,如隐藏参数hidden。hidden是一个布尔值,可以取值1(YES)或0(NO),表示隐藏或不隐藏。当hidden为1时,当前的UIView和subview(子视图)即使不透明(可见),但都被页面隐藏了,最终不可见,而不管subview的hidden值为多少。所述第一数值为1(YES),第二数值为0(NO)。
可选地,确定第一浮层和第二浮层在页面中的层级关系包括:
确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
本申请实施例中,可以以页面为根视图,各个浮层所在的子视图为节点构建视图树。视图树中根视图的层级最高,根视图的第一级子视图的层级次之,第一级子视图为与根视图直接连接的子视图,与根视图的距离是所有子视图中最短的。依此类推,距离根视图越远的子视图,其层级关系越低。视图与视图之间的层级关系可以是具有继承关系的父、子视图,还可以是不具有继承关系但不在同一层级或在同一层级的两个视图。如第一浮层为第二浮层的父视图(第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离),或第一浮层为第二浮层的子视图(第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离)。又例如,第一浮层为第一层级,第二浮层为低于第一层级的第二层级,则认为第二浮层在第一浮层的子视图层,因为第二浮层不是第一浮层子视图,但与第一浮层的子视图在相同的层级,也就是说,低于第一层级的视图层都认为是在第一浮层的子视图层。同理,高于第一层级的视图层都认为是第一浮层的父视图层。
可选地,利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态包括:
在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
本申请实施例中,只有在第二浮层被设置为不透明、不隐藏的状态,且第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级时,第二浮层才会对第一浮层造成遮挡。需要说明的是,在页面视图中,子视图才会遮挡父视图,因为子视图的展示需要依赖父视图在先展示。
本申请实施例中,为了更加准确的确定第二浮层是否遮盖第一浮层,还可以根据第一浮层和第二浮层在页面中的显示位置来判断第二浮层是否遮盖第一浮层,包括:调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为iOS开发平台提供的坐标转换函数;在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。目标函数为iOS系统提供的接口。转换坐标前,需要获取第一浮层和第二浮层的位置参数frame。Frame参数描述当前视图在其父视图中的位置和大小。
本申请实施例中,第二浮层只要满足透明、隐藏、第一浮层在第二浮层的子视图层中的一个条件,则第二浮层就不会遮挡第一浮层。因为第二浮层设置透明时,不影响第二浮层的父视图以及父视图层中的其他视图进行展示,所述其他视图为该父视图层中不是第二浮层的父视图,但距离根视图的最短距离小于第二浮层距离根视图的最短距离的视图。同理,第二浮层设置隐藏时,不影响第二浮层的父视图以及父视图层中的其他视图进行展示。
本申请实施例中,在第一浮层在第二浮层的子视图层这个条件下,若第一浮层与第二浮层不在相同的树干或树枝,即第一浮层虽然在第二浮层的子视图层但不是第二视图的子视图时,也存在极少数情况第二浮层遮挡第一浮层,因为第一浮层的显示不依赖于第二浮层的显示,所以此时可以根据第一浮层和第二浮层在页面中的显示位置来判断第二浮层是否遮盖第一浮层,包括:调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为iOS开发平台提供的坐标转换函数;在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
可选地,根据遮盖状态对第一浮层执行相应的目标操作包括:
在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
本申请实施例中,以第一浮层为播放控件为例,在页面中添加第二浮层时导致播放控件被遮盖,则画面无法显示在屏幕上,此时需要暂停播放。在页面中删除第二浮层或调整第二浮层的参数使得播放控件露出(不遮盖),此时可以继续正常播放。
可选地,所述方法还包括按照如下方式监听第一浮层所在的页面:
向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
获取继承自页面的视图操作接口的所有子视图操作接口;
监听所有子视图操作接口,以监听第一浮层所在的页面。
本申请实施例中,页面中所有视图的添加、删除、修改等操作都是基于各个子视图的子视图操作接口,因此可以通过在视图树中找到根节点定位目标页面,进而找到继承目标页面的视图操作接口的所有子视图操作接口来达到监听页面的目的。
根据本申请实施例的又一方面,如图3所示,提供了一种浮层控制装置,包括:
浮层监听模块301,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
遮盖状态确定模块303,用于确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
控制模块305,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
需要说明的是,该实施例中的浮层监听模块301可以用于执行本申请实施例中的步骤S202,该实施例中的遮盖状态确定模块303可以用于执行本申请实施例中的步骤S204,该实施例中的控制模块305可以用于执行本申请实施例中的步骤S206。
此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
可选地,该浮层监听模块,具体用于:
确定透明参数的浮点值,属性参数包括透明参数;
在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
可选地,该浮层监听模块,还用于:
确定隐藏参数的布尔值,属性参数包括隐藏参数;
在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐藏。
可选地,该遮盖状态确定模块,还包括层级关系确定单元,用于:
确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
可选地,该遮盖状态确定模块,具体用于:
在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
可选地,该遮盖状态确定模块,还包括坐标转换单元,用于:
调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为iOS开发平台提供的坐标转换函数;
在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
可选地,该控制模块,具体用于:
在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
可选地,该浮层监听模块,还用于:
向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
获取继承自页面的视图操作接口的所有子视图操作接口;
监听所有子视图操作接口,以监听第一浮层所在的页面。
本申请采用浮层监听模块,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;遮盖状态确定模块,用于确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;控制模块,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
根据本申请实施例的另一方面,本申请提供了一种电子设备,如图4所示,包括存储器401、处理器403、通信接口405及通信总线407,存储器401中存储有可在处理器403上运行的计算机程序,存储器401、处理器403通过通信接口405和通信总线407进行通信,处理器403执行计算机程序时实现上述方法的步骤。
上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(Peripheral Component Interconnect,简称PCI)总线或扩展工业标准结构(Extended Industry Standard Architecture,简称EISA)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
存储器可以包括随机存取存储器(Random Access Memory,简称RAM),也可以包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processing,简称DSP)、专用集成电路(Application SpecificIntegrated Circuit,简称ASIC)、现场可编程门阵列(Field-Programmable Gate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
根据本申请实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
可选地,在本申请实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
本申请实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(ApplicationSpecific Integrated Circuits,ASIC)、数字信号处理器(Digital Signal Processing,DSP)、数字信号处理设备(DSP Device,DSPD)、可编程逻辑设备(Programmable LogicDevice,PLD)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)、通用处理器、控制器、微控制器、微处理器、用于执行本申请所述功能的其它电子单元或其组合中。
对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本申请的范围。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
以上所述仅是本申请的具体实施方式,使本领域技术人员能够理解或实现本申请。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本申请的精神或范围的情况下,在其它实施例中实现。因此,本申请将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。

Claims (11)

1.一种浮层控制方法,其特征在于,包括:
在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据所述第二浮层当前状态的属性参数确定所述第二浮层当前状态下的属性信息;
确定所述第一浮层和所述第二浮层在所述页面中的层级关系,并利用所述第二浮层的所述属性信息和所述层级关系确定所述第二浮层对所述第一浮层的遮盖状态;
根据所述遮盖状态对所述第一浮层执行相应的目标操作,所述目标操作用于根据所述第一浮层所在的业务提供服务。
2.根据权利要求1所述的方法,其特征在于,根据所述第二浮层当前状态的属性参数确定所述第二浮层当前状态下的属性信息包括:
确定透明参数的浮点值,其中,所述属性参数包括所述透明参数;
在所述浮点值小于预设阈值的情况下,确定所述第二浮层当前状态下的第一属性信息为透明,其中,所述属性信息包括所述第一属性信息;
在所述浮点值大于或等于所述预设阈值的情况下,确定所述第二浮层当前状态下的所述第一属性信息为不透明。
3.根据权利要求2所述的方法,其特征在于,根据所述第二浮层当前状态的属性参数确定所述第二浮层当前状态下的属性信息还包括:
确定隐藏参数的布尔值,其中,所述属性参数包括所述隐藏参数;
在所述布尔值为第一数值的情况下,确定所述第二浮层当前状态下的第二属性信息为隐藏,其中,所述属性信息包括所述第二属性信息;
在所述布尔值为第二数值的情况下,确定所述第二浮层当前状态下的所述第二属性信息为不隐藏。
4.根据权利要求3所述的方法,其特征在于,确定所述第一浮层和所述第二浮层在所述页面中的层级关系包括:
确定所述第一浮层在视图树中的第一节点,确定所述第二浮层在所述视图树中的第二节点,其中,所述视图树为以所述第一浮层和所述第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,所述子节点用于表示所述页面的子视图;
在所述第一节点距离所述根节点的最短距离大于所述第二节点距离所述根节点的最短距离的情况下,确定所述第一浮层在所述第二浮层的子视图层,其中,所述子视图层中包括所述第二浮层的子视图和其他相同层级的视图;
在所述第一节点距离所述根节点的最短距离小于所述第二节点距离所述根节点的最短距离的情况下,确定所述第一浮层在所述第二浮层的父视图层,其中,所述父视图层中包括所述第二浮层的父视图和其他相同层级的视图;
在所述第一节点距离所述根节点的最短距离等于所述第二节点距离所述根节点的最短距离的情况下,确定所述第一浮层与所述第二浮层在同一视图层级。
5.根据权利要求4所述的方法,其特征在于,利用所述第二浮层的所述属性信息和所述层级关系确定所述第二浮层对所述第一浮层的遮盖状态包括:
在所述第一属性信息为不透明且所述第二属性信息为不隐藏的情况下,若所述第一浮层在所述第二浮层的父视图层或所述第一浮层与所述第二浮层在同一视图层级,则确定所述第二浮层对所述第一浮层的遮盖状态为遮盖;
在满足所述第一属性信息为透明、所述第二属性信息为隐藏以及所述第一浮层在所述第二浮层的子视图层中的至少一个条件的情况下,确认所述第二浮层对所述第一浮层的遮盖状态为不遮盖。
6.根据权利要求5所述的方法,其特征在于,确定所述第二浮层对所述第一浮层的遮盖状态为遮盖之前,所述方法还包括:
调用目标函数将所述第一浮层和所述第二浮层转换到同一个坐标系,其中,所述目标函数为iOS开发平台提供的坐标转换函数;
在所述第一浮层的二维坐标与所述第二浮层的二维坐标存在重叠区域的情况下,确定所述第二浮层对所述第一浮层的遮盖状态为遮盖。
7.根据权利要求6所述的方法,其特征在于,根据所述遮盖状态对所述第一浮层执行相应的目标操作包括:
在所述第二浮层对所述第一浮层的遮盖状态为遮盖的情况下,将所述第一浮层中的播放器从播放状态切换为暂停状态;
在所述第二浮层对所述第一浮层的遮盖状态为不遮盖的情况下,将所述第一浮层中的播放器从暂停状态切换为播放状态。
8.根据权利要求4所述的方法,其特征在于,所述方法还包括按照如下方式监听所述第一浮层所在的页面:
向上遍历所述第一节点的父节点,直至找到所述根节点时确定所述根节点表示的页面;
获取继承自所述页面的视图操作接口的所有子视图操作接口;
监听所有所述子视图操作接口,以监听所述第一浮层所在的页面。
9.一种浮层控制装置,其特征在于,包括:
浮层监听模块,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据所述第二浮层当前状态的属性参数确定所述第二浮层当前状态下的属性信息;
遮盖状态确定模块,用于确定所述第一浮层和所述第二浮层在所述页面中的层级关系,并利用所述第二浮层的所述属性信息和所述层级关系确定所述第二浮层对所述第一浮层的遮盖状态;
控制模块,用于根据所述遮盖状态对所述第一浮层执行相应的目标操作,所述目标操作用于根据所述第一浮层所在的业务提供服务。
10.一种电子设备,包括存储器、处理器、通信接口及通信总线,所述存储器中存储有可在所述处理器上运行的计算机程序,所述存储器、所述处理器通过所述通信总线和所述通信接口进行通信,其特征在于,所述处理器执行所述计算机程序时实现上述权利要求1至8任一项所述的方法的步骤。
11.一种具有处理器可执行的非易失的程序代码的计算机可读介质,其特征在于,所述程序代码使所述处理器执行所述权利要求1至8任一所述方法。
CN202110772679.6A 2021-07-08 2021-07-08 浮层控制方法、装置、设备及计算机可读介质 Pending CN113553122A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110772679.6A CN113553122A (zh) 2021-07-08 2021-07-08 浮层控制方法、装置、设备及计算机可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110772679.6A CN113553122A (zh) 2021-07-08 2021-07-08 浮层控制方法、装置、设备及计算机可读介质

Publications (1)

Publication Number Publication Date
CN113553122A true CN113553122A (zh) 2021-10-26

Family

ID=78131435

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110772679.6A Pending CN113553122A (zh) 2021-07-08 2021-07-08 浮层控制方法、装置、设备及计算机可读介质

Country Status (1)

Country Link
CN (1) CN113553122A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023082613A1 (zh) * 2021-11-11 2023-05-19 北京达佳互联信息技术有限公司 显示图层的方法及装置

Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104750359A (zh) * 2015-03-09 2015-07-01 深圳市艾优尼科技有限公司 一种动态信息播放窗口的控制方法
WO2015196822A1 (zh) * 2014-06-25 2015-12-30 广州市动景计算机科技有限公司 一种网页适应屏幕排版方法及装置
CN105787036A (zh) * 2016-02-25 2016-07-20 广州神马移动信息科技有限公司 一种控制页面内容更新的方法及装置
CN107454456A (zh) * 2017-09-06 2017-12-08 武汉斗鱼网络科技有限公司 一种浮层元素的管理控制方法及系统
US20180260095A1 (en) * 2017-03-10 2018-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Mobile terminal and method and device for controlling to display in the same
US20180285148A1 (en) * 2012-02-17 2018-10-04 Google Inc. Automate control of media playback based on visibility
CN111008047A (zh) * 2019-11-19 2020-04-14 北京字节跳动网络技术有限公司 页面元素冲突的处理方法、装置和电子设备
US20200177967A1 (en) * 2018-11-29 2020-06-04 International Business Machines Corporation Adjustments to video playing on a computer
CN112214155A (zh) * 2020-06-09 2021-01-12 北京沃东天骏信息技术有限公司 一种视图信息播放方法、装置、设备和存储介质

Patent Citations (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20180285148A1 (en) * 2012-02-17 2018-10-04 Google Inc. Automate control of media playback based on visibility
WO2015196822A1 (zh) * 2014-06-25 2015-12-30 广州市动景计算机科技有限公司 一种网页适应屏幕排版方法及装置
CN104750359A (zh) * 2015-03-09 2015-07-01 深圳市艾优尼科技有限公司 一种动态信息播放窗口的控制方法
CN105787036A (zh) * 2016-02-25 2016-07-20 广州神马移动信息科技有限公司 一种控制页面内容更新的方法及装置
US20180260095A1 (en) * 2017-03-10 2018-09-13 Guangdong Oppo Mobile Telecommunications Corp., Ltd. Mobile terminal and method and device for controlling to display in the same
CN107454456A (zh) * 2017-09-06 2017-12-08 武汉斗鱼网络科技有限公司 一种浮层元素的管理控制方法及系统
US20200177967A1 (en) * 2018-11-29 2020-06-04 International Business Machines Corporation Adjustments to video playing on a computer
CN111008047A (zh) * 2019-11-19 2020-04-14 北京字节跳动网络技术有限公司 页面元素冲突的处理方法、装置和电子设备
CN112214155A (zh) * 2020-06-09 2021-01-12 北京沃东天骏信息技术有限公司 一种视图信息播放方法、装置、设备和存储介质

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023082613A1 (zh) * 2021-11-11 2023-05-19 北京达佳互联信息技术有限公司 显示图层的方法及装置

Similar Documents

Publication Publication Date Title
CN109408685B (zh) 思维导图展示方法和装置
US8893050B2 (en) Assembly and output of user-defined groupings
KR20190132361A (ko) 상호작용 속성 기반 디스플레이 방법 및 디바이스
US11316896B2 (en) Privacy-preserving user-experience monitoring
WO2019047728A1 (zh) 开启快捷功能的方法、装置、移动终端及存储介质
WO2022017081A1 (zh) 视频互动方法、装置、电子设备及计算机可读存储介质
CN112214155B (zh) 一种视图信息播放方法、装置、设备和存储介质
CN113553122A (zh) 浮层控制方法、装置、设备及计算机可读介质
CN117035081B (zh) 一种多元多模态知识图谱的构建方法及装置
CN112579686A (zh) 交互方法、装置、存储介质及电子设备
CN106557223B (zh) 移动终端快捷操作方法及装置
CN117033527A (zh) 一种知识图谱的构建方法、装置、存储介质及电子设备
CN111158802B (zh) 音频播放的方法、设备、客户端装置及电子设备
CN111246214B (zh) 一种视频解码方法、装置
CN111401990A (zh) 酒店信息展示、管理方法及装置、电子设备及云服务系统
CN110674209A (zh) 一种数据显示方法、设备及存储介质
CN111726671A (zh) 播放媒体信息的方法、设备和电子设备
CN110955480B (zh) 一种视图显示方法和装置
CN111338520B (zh) 标签显示方法、设备以及计算机可读介质
CN114185463A (zh) 表格处理方法、装置、电子设备和存储介质
CN104063434A (zh) 搜索结果页的展现方法和装置
CN114241092A (zh) 多图排版方法、多图排版装置及电子设备
CN109542300B (zh) 一种更新web目录的方法、装置、电子设备及存储介质
CN114692581A (zh) 电子表单子表显示方法、装置、设备以及存储介质
CN110764681A (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