浮层控制方法、装置、设备及计算机可读介质与流程

文档序号:27125219发布日期:2021-10-27 20:03阅读:111来源:国知局
浮层控制方法、装置、设备及计算机可读介质与流程

1.本技术涉及互联网技术领域,尤其涉及一种浮层控制方法、装置、设备及计算机可读介质。


背景技术:

2.随着业务不断发展,应用页面越来越多的控件支持用户交互、承载业务逻辑,比如用户点击按钮后拉起新的广告页面。页面上的浮层组成了一个复杂的树形结构,浮层之间会相互遮盖。浮层数量的增加导致树形结构逐渐复杂化,带来了浮层管理问题。尤其对于遮盖敏感度高的业务场景(如播放器被遮盖时暂停,无遮盖时正常播放),增加了维护难度。
3.目前,相关技术中的浮层管理主要是,浮层业务方打开或关闭时给播放器发送回调,播放器根据业务决定是否暂停或播放。发明人研究发现,这种技术对所有的浮层没有统一的管理方案,每种新业务的接入都需要单独设置,业务接入和维护成本非常高,一旦逻辑较为复杂,系统无法根据浮层状态执行适当的操作。
4.针对逻辑较为复杂时系统无法根据浮层状态执行适当的操作的问题,目前尚未提出有效的解决方案。


技术实现要素:

5.本技术提供了一种浮层控制方法、装置、设备及计算机可读介质,以解决逻辑较为复杂时系统无法根据浮层状态执行适当的操作的技术问题。
6.根据本技术实施例的一个方面,本技术提供了一种浮层控制方法,包括:
7.在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
8.确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
9.根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
10.可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息包括:
11.确定透明参数的浮点值,属性参数包括透明参数;
12.在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
13.在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
14.可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息还包括:
15.确定隐藏参数的布尔值,属性参数包括隐藏参数;
16.在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
17.在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐藏。
18.可选地,确定第一浮层和第二浮层在页面中的层级关系包括:
19.确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
20.在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
21.在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
22.在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
23.可选地,利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态包括:
24.在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
25.在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
26.可选地,确定第二浮层对第一浮层的遮盖状态为遮盖之前,所述方法还包括:
27.调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为ios开发平台提供的坐标转换函数;
28.在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
29.可选地,根据遮盖状态对第一浮层执行相应的目标操作包括:
30.在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
31.在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
32.可选地,所述方法还包括按照如下方式监听第一浮层所在的页面:
33.向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
34.获取继承自页面的视图操作接口的所有子视图操作接口;
35.监听所有子视图操作接口,以监听第一浮层所在的页面。
36.根据本技术实施例的另一方面,本技术提供了一种浮层控制装置,包括:
37.浮层监听模块,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情
况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
38.遮盖状态确定模块,用于确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
39.控制模块,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
40.根据本技术实施例的另一方面,本技术提供了一种电子设备,包括存储器、处理器、通信接口及通信总线,存储器中存储有可在处理器上运行的计算机程序,存储器、处理器通过通信总线和通信接口进行通信,处理器执行计算机程序时实现上述方法的步骤。
41.根据本技术实施例的另一方面,本技术还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质,程序代码使处理器执行上述的方法。
42.本技术实施例提供的上述技术方案与相关技术相比具有如下优点:
43.本技术技术方案为在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。本技术通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
附图说明
44.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
45.为了更清楚地说明本技术实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,对于本领域普通技术人员而言,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
46.图1为根据本技术实施例提供的一种可选的浮层控制方法硬件环境示意图;
47.图2为根据本技术实施例提供的一种可选的浮层控制方法流程图;
48.图3为根据本技术实施例提供的一种可选的浮层控制装置框图;
49.图4为本技术实施例提供的一种可选的电子设备结构示意图。
具体实施方式
50.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本技术实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本技术的一部分实施例,而不是全部的实施例。基于本技术中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本技术保护的范围。
51.在后续的描述中,使用用于表示元件的诸如“模块”、“部件”或“单元”的后缀仅为了有利于本技术的说明,其本身并没有特定的意义。因此,“模块”与“部件”可以混合地使用。
52.相关技术中,浮层管理主要是,浮层业务方打开或关闭时给播放器发送回调,播放器根据业务决定是否暂停或播放。发明人研究发现,这种技术对所有的浮层没有统一的管理方案,每种新业务的接入都需要单独设置,业务接入和维护成本非常高,一旦逻辑较为复杂,系统无法根据浮层状态执行适当的操作。
53.为了解决背景技术中提及的问题,根据本技术实施例的一方面,提供了一种浮层控制方法的实施例。本技术技术方案可以应用于ios系统的程序页面、浏览器页面中的浮层管理,基于分析浮层的属性信息和浮层之间的层级关系确定浮层之间是否存在遮挡,并根据遮挡状态执行适当的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理,解决了系统无法根据浮层状态执行适当的操作的技术问题。
54.可选地,在本技术实施例中,上述方法可以应用于如图1所示的由终端101和服务器103所构成的硬件环境中。如图1所示,服务器103通过网络与终端101进行连接,可用于为终端或终端上安装的客户端提供服务,可在服务器上或独立于服务器设置数据库105,用于为服务器103提供数据存储服务,上述网络包括但不限于:广域网、城域网或局域网,终端101包括但不限于pc、手机、平板电脑等。
55.本技术实施例中的一种方法可以由服务器103来执行,可以是由终端101来执行,还可以是由服务器103和终端101共同执行,如图2所示,该方法可以包括以下步骤:
56.步骤s202,在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息。
57.程序的页面、浏览器的页面中存在很多显示元素,众多显示元素可以在同一个页面中呈现,显示元素可以是一个个浮层,如播放器、框、按钮等ui控件。在计算机程序实现中,页面为根视图,页面上的显示元素是通过一个个子视图来承载的,即浮层/ui控件通过子视图在根视图(页面)上展示。
58.本技术实施例中,第一浮层为待控制的浮层,需要根据第一浮层所在页面中的其他浮层的状态来判断该如何控制第一浮层执行下一步操作。第二浮层即第一浮层所在页面中除第一浮层之外的其他浮层,第二浮层的状态发生变化时,需要确定改变状态后的第二浮层是否会影响到第一浮层,进而判断是否对第一浮层执行对应的操作。第二浮层的状态通过其属性信息体现。第二浮层的状态发生变化的出发操作可以是在页面中添加该第二浮层、删除该第二浮层、调整该第二浮层的参数等等。
59.步骤s204,确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态。
60.本技术实施例中,为了确定第二浮层是否会影响(遮盖)第一浮层,除了确定第二浮层的属性信息之外,还需要确定第一浮层和第二浮层的位置关系,即第一浮层和第二浮层在页面中的层级关系,具体可以在以页面为根视图,各个浮层所在的子视图为节点构建的视图树中确定第一浮层和第二浮层在页面中的层级关系。
61.视图树中根视图的层级最高,根视图的第一级子视图的层级次之,第一级子视图为与根视图直接连接的子视图。依此类推,距离根视图越远的子视图,其层级关系越低。视图与视图之间的层级关系可以是具有继承关系的父、子视图,还可以是不具有继承关系但不在同一层级或在同一层级的两个视图。如第一浮层为第二浮层的父视图,或第一浮层为
第二浮层的子视图。又例如,第一浮层为第一层级,第二浮层为低于第一层级的第二层级,则认为第二浮层在第一浮层的子视图层,因为第二浮层不是第一浮层子视图,但与第一浮层的子视图在相同的层级,也就是说,低于第一层级的视图层都认为是在第一浮层的子视图层。同理,高于第一层级的视图层都认为是第一浮层的父视图层。
62.本技术实施例中,在确定第二浮层的属性信息和第一浮层与第二浮层之间的层级关系之后,即可利用上述信息确定第二浮层对第一浮层的遮盖状态,即确定第二浮层是否遮挡第一浮层。
63.步骤s206,根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
64.本技术实施例中,若第二浮层遮盖第一浮层,则对第一浮层执行相应被遮盖时的应对操作,若第二浮层未遮盖第一浮层,则对第一浮层执行相应未被遮盖时的应对操作。执行目标操作是为了根据第一浮层所在的业务提供相应的服务,如,若第一浮层为播放器控件,则第一浮层的业务为播放视频,那么在第一浮层被遮挡的情况下,其应对操作为暂停播放,在第一浮层未被遮挡的情况下,其应对操作为正常播放。
65.采用本技术技术方案,通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
66.可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息包括:
67.确定透明参数的浮点值,属性参数包括透明参数;
68.在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
69.在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
70.本技术实施例中,为ios系统的程序页面、浏览器页面提供浮层控制功能可以是基于objective

c语言,其中第一浮层(ui控件)是否被第二浮层遮盖,可以根据第二浮层的浮层视图uiview的属性信息进行判断,如透明参数alpha。alpha是一个浮点值,取值范围0到1.0,表示从完全透明到完全不透明。当alpha为0时,当前的uiview和subview(子视图)虽然都存在于页面上,然而却不可见,而不管subview的alpha值为多少。
71.所述预设阈值可以根据实际需要进行设置,第二浮层的alpha值小于该预设阈值,则认为alpha为0,第二浮层被设置为完全透明,若第二浮层的alpha值大于或等于该预设阈值,则认为alpha为1.0,第二浮层被设置为不透明。
72.可选地,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息还包括:
73.确定隐藏参数的布尔值,属性参数包括隐藏参数;
74.在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
75.在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐
藏。
76.本技术实施例中,第一浮层(ui控件)是否被第二浮层遮盖,可以根据第二浮层的浮层视图uiview的属性信息进行判断,如隐藏参数hidden。hidden是一个布尔值,可以取值1(yes)或0(no),表示隐藏或不隐藏。当hidden为1时,当前的uiview和subview(子视图)即使不透明(可见),但都被页面隐藏了,最终不可见,而不管subview的hidden值为多少。所述第一数值为1(yes),第二数值为0(no)。
77.可选地,确定第一浮层和第二浮层在页面中的层级关系包括:
78.确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
79.在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
80.在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
81.在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
82.本技术实施例中,可以以页面为根视图,各个浮层所在的子视图为节点构建视图树。视图树中根视图的层级最高,根视图的第一级子视图的层级次之,第一级子视图为与根视图直接连接的子视图,与根视图的距离是所有子视图中最短的。依此类推,距离根视图越远的子视图,其层级关系越低。视图与视图之间的层级关系可以是具有继承关系的父、子视图,还可以是不具有继承关系但不在同一层级或在同一层级的两个视图。如第一浮层为第二浮层的父视图(第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离),或第一浮层为第二浮层的子视图(第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离)。又例如,第一浮层为第一层级,第二浮层为低于第一层级的第二层级,则认为第二浮层在第一浮层的子视图层,因为第二浮层不是第一浮层子视图,但与第一浮层的子视图在相同的层级,也就是说,低于第一层级的视图层都认为是在第一浮层的子视图层。同理,高于第一层级的视图层都认为是第一浮层的父视图层。
83.可选地,利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态包括:
84.在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
85.在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
86.本技术实施例中,只有在第二浮层被设置为不透明、不隐藏的状态,且第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级时,第二浮层才会对第一浮层造成遮挡。需要说明的是,在页面视图中,子视图才会遮挡父视图,因为子视图的展示需要
依赖父视图在先展示。
87.本技术实施例中,为了更加准确的确定第二浮层是否遮盖第一浮层,还可以根据第一浮层和第二浮层在页面中的显示位置来判断第二浮层是否遮盖第一浮层,包括:调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为ios开发平台提供的坐标转换函数;在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。目标函数为ios系统提供的接口。转换坐标前,需要获取第一浮层和第二浮层的位置参数frame。frame参数描述当前视图在其父视图中的位置和大小。
88.本技术实施例中,第二浮层只要满足透明、隐藏、第一浮层在第二浮层的子视图层中的一个条件,则第二浮层就不会遮挡第一浮层。因为第二浮层设置透明时,不影响第二浮层的父视图以及父视图层中的其他视图进行展示,所述其他视图为该父视图层中不是第二浮层的父视图,但距离根视图的最短距离小于第二浮层距离根视图的最短距离的视图。同理,第二浮层设置隐藏时,不影响第二浮层的父视图以及父视图层中的其他视图进行展示。
89.本技术实施例中,在第一浮层在第二浮层的子视图层这个条件下,若第一浮层与第二浮层不在相同的树干或树枝,即第一浮层虽然在第二浮层的子视图层但不是第二视图的子视图时,也存在极少数情况第二浮层遮挡第一浮层,因为第一浮层的显示不依赖于第二浮层的显示,所以此时可以根据第一浮层和第二浮层在页面中的显示位置来判断第二浮层是否遮盖第一浮层,包括:调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为ios开发平台提供的坐标转换函数;在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
90.可选地,根据遮盖状态对第一浮层执行相应的目标操作包括:
91.在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
92.在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
93.本技术实施例中,以第一浮层为播放控件为例,在页面中添加第二浮层时导致播放控件被遮盖,则画面无法显示在屏幕上,此时需要暂停播放。在页面中删除第二浮层或调整第二浮层的参数使得播放控件露出(不遮盖),此时可以继续正常播放。
94.可选地,所述方法还包括按照如下方式监听第一浮层所在的页面:
95.向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
96.获取继承自页面的视图操作接口的所有子视图操作接口;
97.监听所有子视图操作接口,以监听第一浮层所在的页面。
98.本技术实施例中,页面中所有视图的添加、删除、修改等操作都是基于各个子视图的子视图操作接口,因此可以通过在视图树中找到根节点定位目标页面,进而找到继承目标页面的视图操作接口的所有子视图操作接口来达到监听页面的目的。
99.根据本技术实施例的又一方面,如图3所示,提供了一种浮层控制装置,包括:
100.浮层监听模块301,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
101.遮盖状态确定模块303,用于确定第一浮层和第二浮层在页面中的层级关系,并利
用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
102.控制模块305,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
103.需要说明的是,该实施例中的浮层监听模块301可以用于执行本技术实施例中的步骤s202,该实施例中的遮盖状态确定模块303可以用于执行本技术实施例中的步骤s204,该实施例中的控制模块305可以用于执行本技术实施例中的步骤s206。
104.此处需要说明的是,上述模块与对应的步骤所实现的示例和应用场景相同,但不限于上述实施例所公开的内容。需要说明的是,上述模块作为装置的一部分可以运行在如图1所示的硬件环境中,可以通过软件实现,也可以通过硬件实现。
105.可选地,该浮层监听模块,具体用于:
106.确定透明参数的浮点值,属性参数包括透明参数;
107.在浮点值小于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为透明,属性信息包括第一属性信息;
108.在浮点值大于或等于预设阈值的情况下,确定第二浮层当前状态下的第一属性信息为不透明。
109.可选地,该浮层监听模块,还用于:
110.确定隐藏参数的布尔值,属性参数包括隐藏参数;
111.在布尔值为第一数值的情况下,确定第二浮层当前状态下的第二属性信息为隐藏,属性信息包括第二属性信息;
112.在布尔值为第二数值的情况下,确定第二浮层当前状态下的第二属性信息为不隐藏。
113.可选地,该遮盖状态确定模块,还包括层级关系确定单元,用于:
114.确定第一浮层在视图树中的第一节点,确定第二浮层在视图树中的第二节点,视图树为以第一浮层和第二浮层所在页面为根节点,按照从上往下的顺序添加子节点得到的视图树,子节点用于表示页面的子视图;
115.在第一节点距离根节点的最短距离大于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的子视图层,子视图层中包括第二浮层的子视图和其他相同层级的视图;
116.在第一节点距离根节点的最短距离小于第二节点距离根节点的最短距离的情况下,确定第一浮层在第二浮层的父视图层,父视图层中包括第二浮层的父视图和其他相同层级的视图;
117.在第一节点距离根节点的最短距离等于第二节点距离根节点的最短距离的情况下,确定第一浮层与第二浮层在同一视图层级。
118.可选地,该遮盖状态确定模块,具体用于:
119.在第一属性信息为不透明且第二属性信息为不隐藏的情况下,若第一浮层在第二浮层的父视图层或第一浮层与第二浮层在同一视图层级,则确定第二浮层对第一浮层的遮盖状态为遮盖;
120.在满足第一属性信息为透明、第二属性信息为隐藏以及第一浮层在第二浮层的子视图层中的至少一个条件的情况下,确认第二浮层对第一浮层的遮盖状态为不遮盖。
121.可选地,该遮盖状态确定模块,还包括坐标转换单元,用于:
122.调用目标函数将第一浮层和第二浮层转换到同一个坐标系,目标函数为ios开发平台提供的坐标转换函数;
123.在第一浮层的二维坐标与第二浮层的二维坐标存在重叠区域的情况下,确定第二浮层对第一浮层的遮盖状态为遮盖。
124.可选地,该控制模块,具体用于:
125.在第二浮层对第一浮层的遮盖状态为遮盖的情况下,将第一浮层中的播放器从播放状态切换为暂停状态;
126.在第二浮层对第一浮层的遮盖状态为不遮盖的情况下,将第一浮层中的播放器从暂停状态切换为播放状态。
127.可选地,该浮层监听模块,还用于:
128.向上遍历第一节点的父节点,直至找到根节点时确定根节点表示的页面;
129.获取继承自页面的视图操作接口的所有子视图操作接口;
130.监听所有子视图操作接口,以监听第一浮层所在的页面。
131.本技术采用浮层监听模块,用于在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;遮盖状态确定模块,用于确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;控制模块,用于根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。通过分析浮层的属性信息和浮层之间的层级关系来确定浮层之间是否存在遮挡并根据遮挡状态执行相应的操作,从而提供了统一的浮层管理方案,并能够将浮层管理从业务中解耦,即使面对结构复杂的页面也能高效进行浮层管理。解决了系统无法根据浮层状态执行适当的操作的技术问题。
132.根据本技术实施例的另一方面,本技术提供了一种电子设备,如图4所示,包括存储器401、处理器403、通信接口405及通信总线407,存储器401中存储有可在处理器403上运行的计算机程序,存储器401、处理器403通过通信接口405和通信总线407进行通信,处理器403执行计算机程序时实现上述方法的步骤。
133.上述电子设备中的存储器、处理器通过通信总线和通信接口进行通信。所述通信总线可以是外设部件互连标准(peripheral component interconnect,简称pci)总线或扩展工业标准结构(extended industry standard architecture,简称eisa)总线等。该通信总线可以分为地址总线、数据总线、控制总线等。
134.存储器可以包括随机存取存储器(random access memory,简称ram),也可以包括非易失性存储器(non

volatile memory),例如至少一个磁盘存储器。可选的,存储器还可以是至少一个位于远离前述处理器的存储装置。
135.上述的处理器可以是通用处理器,包括中央处理器(central processing unit,简称cpu)、网络处理器(network processor,简称np)等;还可以是数字信号处理器(digital signal processing,简称dsp)、专用集成电路(application specific integrated circuit,简称asic)、现场可编程门阵列(field

programmable gate array,简称fpga)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
136.根据本技术实施例的又一方面还提供了一种具有处理器可执行的非易失的程序代码的计算机可读介质。
137.可选地,在本技术实施例中,计算机可读介质被设置为存储用于所述处理器执行以下步骤的程序代码:
138.在监听到第一浮层所在页面中的第二浮层发生状态变化的情况下,根据第二浮层当前状态的属性参数确定第二浮层当前状态下的属性信息;
139.确定第一浮层和第二浮层在页面中的层级关系,并利用第二浮层的属性信息和层级关系确定第二浮层对第一浮层的遮盖状态;
140.根据遮盖状态对第一浮层执行相应的目标操作,目标操作用于根据第一浮层所在的业务提供服务。
141.可选地,本实施例中的具体示例可以参考上述实施例中所描述的示例,本实施例在此不再赘述。
142.本技术实施例在具体实现时,可以参阅上述各个实施例,具有相应的技术效果。
143.可以理解的是,本文描述的这些实施例可以用硬件、软件、固件、中间件、微码或其组合来实现。对于硬件实现,处理单元可以实现在一个或多个专用集成电路(application specific integrated circuits,asic)、数字信号处理器(digital signal processing,dsp)、数字信号处理设备(dsp device,dspd)、可编程逻辑设备(programmable logic device,pld)、现场可编程门阵列(field

programmable gate array,fpga)、通用处理器、控制器、微控制器、微处理器、用于执行本技术所述功能的其它电子单元或其组合中。
144.对于软件实现,可通过执行本文所述功能的单元来实现本文所述的技术。软件代码可存储在存储器中并通过处理器执行。存储器可以在处理器中或在处理器外部实现。
145.本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、或者计算机软件和电子硬件的结合来实现。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本技术的范围。
146.所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
147.在本技术所提供的实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个模块或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
148.所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
149.另外,在本技术各个实施例中的各功能单元可以集成在一个处理单元中,也可以
是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。
150.所述功能如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本技术实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本技术各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:u盘、移动硬盘、rom、ram、磁碟或者光盘等各种可以存储程序代码的介质。需要说明的是,在本文中,诸如“第一”和“第二”等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
151.以上所述仅是本技术的具体实施方式,使本领域技术人员能够理解或实现本技术。对这些实施例的多种修改对本领域的技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所申请的原理和新颖特点相一致的最宽的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1