本技术涉及通信领域,尤其涉及一种用于确定显示节点覆盖的技术。
背景技术:
1、在现有技术中,一个页面中的所有视图控件通常会构成一个树形结构,每个视图控件是该树形结构中的一个节点,该树形结构下会存在节点被覆盖的场景,若某个节点被至少一个其他节点覆盖,即使该节点在页面上是可见的,仍然需要忽略该节点,使得该节点无法被用户的交互操作触发。
技术实现思路
1、本技术的一个目的是提供一种用于确定显示节点覆盖的方法、设备及介质。
2、根据本技术的一个方面,提供了一种用于确定显示节点覆盖的方法,该方法包括:
3、从当前页面的显示节点树对应的比对节点集中筛选出一个或多个可操作的目标显示节点,其中,所述比对节点集包括所述显示节点树中的至少一个显示节点;
4、遍历所述一个或多个可操作的目标显示节点,针对每个目标显示节点,执行下述操作:s遍历所述比对节点集,针对其中的每个比对节点,执行下述操作:t若该比对节点与该目标显示节点对应同一个直接父节点,将该目标显示节点作为第一节点,将该比对节点作为第二节点,执行下述步骤d;否则,执行下述步骤e;
5、d根据所述第一节点与所述第二节点在对应直接父节点中的绘制顺序,确定所述第一节点与所述第二节点之间的覆盖关系,若所述第一节点被所述第二节点覆盖,针对所述第一节点对应的下一个目标显示节点,执行所述步骤s,若所述第一节点未被所述第二节点覆盖,针对所述第二节点对应的下一个比对节点,执行所述步骤t;
6、e若该比对节点与该目标显示节点之间存在祖先关系,针对该比对节点对应的下一个比对节点,执行所述步骤t;否则,获取该比对节点与该目标显示节点对应的最近公共父节点,根据所述最近公共父节点在该目标显示节点对应的第一分支与所述最近公共父节点在该比对节点对应的第二分支在所述最近公共父节点中的绘制顺序,确定该目标显示节点与该比对节点之间的覆盖关系,若该目标显示节点被该比对节点覆盖,针对该目标显示节点对应的下一个目标显示节点,执行所述步骤s,若该目标显示节点未被该比对节点覆盖,针对该比对节点对应的下一个比对节点,执行所述步骤t。
7、根据本技术的一个方面,提供了一种用于确定显示节点覆盖的计算机设备,该设备包括:
8、处理器;以及
9、被安排成存储计算机可执行指令的存储器,所述可执行指令在被执行时使所述处理器执行如下操作:
10、从当前页面的显示节点树对应的比对节点集中筛选出一个或多个可操作的目标显示节点,其中,所述比对节点集包括所述显示节点树中的至少一个显示节点;
11、遍历所述一个或多个可操作的目标显示节点,针对每个目标显示节点,执行下述操作:s遍历所述比对节点集,针对其中的每个比对节点,执行下述操作:t若该比对节点与该目标显示节点对应同一个直接父节点,将该目标显示节点作为第一节点,将该比对节点作为第二节点,执行下述步骤d;否则,执行下述步骤e;
12、d根据所述第一节点与所述第二节点在对应直接父节点中的绘制顺序,确定所述第一节点与所述第二节点之间的覆盖关系,若所述第一节点被所述第二节点覆盖,针对所述第一节点对应的下一个目标显示节点,执行所述步骤s,若所述第一节点未被所述第二节点覆盖,针对所述第二节点对应的下一个比对节点,执行所述步骤t;
13、e若该比对节点与该目标显示节点之间存在祖先关系,针对该比对节点对应的下一个比对节点,执行所述步骤t;否则,获取该比对节点与该目标显示节点对应的最近公共父节点,根据所述最近公共父节点在该目标显示节点对应的第一分支与所述最近公共父节点在该比对节点对应的第二分支在所述最近公共父节点中的绘制顺序,确定该目标显示节点与该比对节点之间的覆盖关系,若该目标显示节点被该比对节点覆盖,针对该目标显示节点对应的下一个目标显示节点,执行所述步骤s,若该目标显示节点未被该比对节点覆盖,针对该比对节点对应的下一个比对节点,执行所述步骤t。
14、根据本技术的一个方面,提供了一种存储指令的计算机可读介质,所述指令在被执行时使得系统进行如下操作:
15、从当前页面的显示节点树对应的比对节点集中筛选出一个或多个可操作的目标显示节点,其中,所述比对节点集包括所述显示节点树中的至少一个显示节点;
16、遍历所述一个或多个可操作的目标显示节点,针对每个目标显示节点,执行下述操作:s遍历所述比对节点集,针对其中的每个比对节点,执行下述操作:t若该比对节点与该目标显示节点对应同一个直接父节点,将该目标显示节点作为第一节点,将该比对节点作为第二节点,执行下述步骤d;否则,执行下述步骤e;
17、d根据所述第一节点与所述第二节点在对应直接父节点中的绘制顺序,确定所述第一节点与所述第二节点之间的覆盖关系,若所述第一节点被所述第二节点覆盖,针对所述第一节点对应的下一个目标显示节点,执行所述步骤s,若所述第一节点未被所述第二节点覆盖,针对所述第二节点对应的下一个比对节点,执行所述步骤t;
18、e若该比对节点与该目标显示节点之间存在祖先关系,针对该比对节点对应的下一个比对节点,执行所述步骤t;否则,获取该比对节点与该目标显示节点对应的最近公共父节点,根据所述最近公共父节点在该目标显示节点对应的第一分支与所述最近公共父节点在该比对节点对应的第二分支在所述最近公共父节点中的绘制顺序,确定该目标显示节点与该比对节点之间的覆盖关系,若该目标显示节点被该比对节点覆盖,针对该目标显示节点对应的下一个目标显示节点,执行所述步骤s,若该目标显示节点未被该比对节点覆盖,针对该比对节点对应的下一个比对节点,执行所述步骤t。
19、根据本技术的一个方面,提供了一种用于确定显示节点覆盖的用户设备,该设备包括:
20、一一模块,用于从当前页面的显示节点树对应的比对节点集中筛选出一个或多个可操作的目标显示节点,其中,所述比对节点集包括所述显示节点树中的至少一个显示节点;
21、一二模块,遍历所述一个或多个可操作的目标显示节点,针对每个目标显示节点,执行下述操作:s遍历所述比对节点集,针对其中的每个比对节点,执行下述操作:t若该比对节点与该目标显示节点对应同一个直接父节点,将该目标显示节点作为第一节点,将该比对节点作为第二节点,执行一三模块中的操作;否则,执行一四模块中的操作;
22、一三模块,用于根据所述第一节点与所述第二节点在对应直接父节点中的绘制顺序,确定所述第一节点与所述第二节点之间的覆盖关系,若所述第一节点被所述第二节点覆盖,针对所述第一节点对应的下一个目标显示节点,执行所述步骤s,若所述第一节点未被所述第二节点覆盖,针对所述第二节点对应的下一个比对节点,执行所述步骤t;
23、一四模块,用于若该比对节点与该目标显示节点之间存在祖先关系,对该比对节点对应的下一个比对节点,执行所述步骤t;否则,获取该比对节点与该目标显示节点对应的最近公共父节点,根据所述最近公共父节点在该目标显示节点对应的第一分支与所述最近公共父节点在该比对节点对应的第二分支在所述最近公共父节点中的绘制顺序,确定该目标显示节点与该比对节点之间的覆盖关系,若该目标显示节点被该比对节点覆盖,针对该目标显示节点对应的下一个目标显示节点,执行所述步骤s,若该目标显示节点未被该比对节点覆盖,针对该比对节点对应的下一个比对节点,执行所述步骤t。
24、与现有技术相比,本技术通过从当前页面的显示节点树对应的比对节点集中筛选出一个或多个可操作的目标显示节点,其中,所述比对节点集包括所述显示节点树中的至少一个显示节点;遍历所述一个或多个可操作的目标显示节点,针对每个目标显示节点,执行下述操作:s遍历所述比对节点集,针对其中的每个比对节点,执行下述操作:t若该比对节点与该目标显示节点对应同一个直接父节点,将该目标显示节点作为第一节点,将该比对节点作为第二节点,执行下述步骤d;否则,执行下述步骤e;d根据所述第一节点与所述第二节点在对应直接父节点中的绘制顺序,确定所述第一节点与所述第二节点之间的覆盖关系,若所述第一节点被所述第二节点覆盖,针对所述第一节点对应的下一个目标显示节点,执行所述步骤s,若所述第一节点未被所述第二节点覆盖,针对所述第二节点对应的下一个比对节点,执行所述步骤t;e若该比对节点与该目标显示节点之间存在祖先关系,针对该比对节点对应的下一个比对节点,执行所述步骤t;否则,获取该比对节点与该目标显示节点对应的最近公共父节点,根据所述最近公共父节点在该目标显示节点对应的第一分支与所述最近公共父节点在该比对节点对应的第二分支在所述最近公共父节点中的绘制顺序,确定该目标显示节点与该比对节点之间的覆盖关系,若该目标显示节点被该比对节点覆盖,针对该目标显示节点对应的下一个目标显示节点,执行所述步骤s,若该目标显示节点未被该比对节点覆盖,针对该比对节点对应的下一个比对节点,执行所述步骤t,本技术对于当前页面的显示节点树下存在显示节点被覆盖的场景,可以自动确定哪些显示节点被覆盖(如被遮挡等),从而自动忽略那些被覆盖的显示节点,使得该被覆盖的显示节点不会被用户的交互操作(例如,点击、语音、触摸、头控等方式)触发,类似于通过手机屏幕不可能触摸到被遮挡的内容,能够提高用户的交互准确率,增强用户的交互体验。