一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

下拉控件数据处理方法、装置、计算机设备、存储介质与流程

2022-02-22 22:43:22 来源:中国专利 TAG:


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.在其中一个实施例中,所述方法还包括:
28.在控制所述下拉控件的过程中,将所述触摸移动信息调整为所述多按下动作信息或抬起动作信息。
29.在其中一个实施例中,所述在获取到触摸控制动作的情况下,获取所述触摸控制动作的手势信息数据之前,还包括:
30.在所述下拉控件对应的页面中的元素加载完成的情况下,获取并记录所述页面中所有交互控件;
31.通过筛选方法获取并记录所述交互控件中除所述下拉控件和所述下拉控件对应的子控件之外的所述非下拉控件。
32.第二方面,本公开还提供了一种下拉控件数据处理装置,其特征在于,所述装置包括:
33.手势信息获取模块,用于在获取到触摸控制动作信息的情况下,获取所述触摸控制动作信息的手势信息数据,所述触摸控制动作信息包括按下动作信息和抬起动作信息;
34.触摸操作发送模块,用于使下拉控件不拦截触摸操作信息,在识别到所述按下动
作信息的情况下,发送所述触摸操作信息至所述下拉控件对应的页面中非下拉控件;
35.触摸信息确定模块,用于根据所述手势信息数据确定触摸目标对象和触摸位置起始信息数据;
36.下拉控件控制模块,用于在所述触摸目标对象移动的情况下,根据所述触摸目标对象的移动位置、所述触摸位置起始信息数据控制所述下拉控件实现下拉操作。
37.第三方面,本公开还提供了一种计算机设备。所述计算机设备包括存储器和处理器,所述存储器存储有计算机程序,所述处理器执行所述计算机程序时实现上述方法的步骤。
38.第四方面,本公开还提供了一种计算机可读存储介质。所述计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述方法的步骤。
39.第五方面,本公开还提供了一种计算机程序产品。所述计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述方法的步骤。
40.上述下拉控件数据处理方法、装置、计算机设备、存储介质,能够通过按下动作信息和抬起动作信息对应的手势信息数据确定最终需要识别的触摸目标对象,且识别到按下动作信息的情况下,不拦截触摸操作信息,使得其他交互控件也能够识别到触摸事件,当通过确定的触摸目标对象进行下拉操作时,根据手势信息确定的触摸位置起始信息数据能够对应的控制下拉控件,且在控制下拉控件的过程中,因为其他交互控件也能识别到触摸事件,所以其他的交互控件也可根据触摸目标对象的其他操作实现对应的功能。
附图说明
41.图1为一个实施例中下拉控件数据处理方法的应用环境示意图;
42.图2为一个实施例中下拉控件数据处理方法的流程示意图;
43.图3为一个实施例中s206步骤的流程示意图;
44.图4为一个实施例中s208步骤的流程示意图;
45.图5为一个实施例中获取手势信息数据之前的流程示意图;
46.图6为一个实施例中下拉控件数据处理装置的结构示意框图;
47.图7为一个实施例中计算机设备的内部结构示意图。
具体实施方式
48.为了使本公开的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本公开进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本公开,并不用于限定本公开。
49.需要说明的是,本文的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本文的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、装置、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
50.本公开实施例提供的下拉控件数据处理方法,可以应用于如图1所示的应用环境中。手指102在终端104上执行点击动作或单击后的抬起动作或触摸动作后,终端104获取到与上述动作相对应的触摸动作信息。触摸动作信息可以包括按下动作信息和抬起动作信息。终端104获取触摸动作信息的手势信息数据。终端104调整其中的下拉控件,使下拉控件不拦截触摸操作信息。终端104中的下拉控件在识别到按下动作信息的情况下,终端104中的下拉控件发出对应的触摸操作信息,并且将该触摸操作信息发送至终端104中该下拉控件所在的页面中非下拉控件,使得非下拉控件也可以接收到触摸操作信息。下拉控件根据终端104获取的手势信息数据确定手指102中的触摸目标对象和触摸位置的起始信息数据。在手指102中对应的触摸目标对象移动的情况下,终端104根据手指102中的触摸目标对象在下拉控件中的移动位置以及触摸位置的启示信息数据控制下拉控件实现下拉操作。其中,终端104可以是能够识别触摸操作的设备,可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备等。可以理解的是手指102可以替换为触摸笔,点击器、鼠标中的光标等等,能够实现点击动作、移动动作即可。
51.在一个实施例中,如图2所示,提供了一种下拉控件数据处理方法,以该方法应用于图1中的终端104为例进行说明,包括以下步骤:
52.s202,在获取到触摸控制动作信息的情况下,获取所述触摸控制动作信息的手势信息数据,所述触摸控制动作信息包括按下动作信息和抬起动作信息。
53.其中,触摸控制动作信息通常可以是在显示屏或者触摸屏上进行触摸动作或者移动动作或者抬起动作时发出的信息,需要说明的是,触摸动作或者移动动作或者抬起动作可以通过手指来实现也可以通过其他方式来实现,如触摸笔,鼠标的光标点击移动操作等。该显示屏是可以能够接收和识别到触摸操作的显示屏。按下动作信息通常可以是进行触摸或者移动时发出的信息。抬起动作信息通常可以是进行触摸或者移动后,从显示屏或者触摸屏上抬起的信息。手势信息数据通常可以是根据在显示屏或者触摸屏上不同的操作产生与操作对应的数据。
54.具体地,当在显示屏或者触摸屏上进行触摸等操作时,发生触摸动作信息,通过分发事件触摸方法可以获取到触摸动作信息,分发事件触摸方法可以是dispatchtouchevent方法,本领域技术人员也可根据实际情况进行自定义其他方法能够实现dispatchtouchevent方法对应的功能即可。触摸动作信息通常情况下可以是触摸事件,触摸事件通常可以是从dispatchtouchevent方法开始执行的。在获取到触摸动作信息的情况下,获取触摸动作信息中的手势信息数据,通过手势信息数据可以识别到的该触摸动作信息的发出者需要执行的操作。触摸动作信息中可以包括发起者的按下操作时对应的按下动作信息,以及执行按下动作后从触摸屏抬起时对应的抬起操作信息。
55.s204,使下拉控件不拦截触摸操作信息,在识别到所述按下动作信息的情况下,发送所述触摸操作信息至所述下拉控件对应的页面中非下拉控件。
56.其中,触摸操作信息通常可以是发生触摸控制动作信息后对应出现的信息,可以是motionevent,motionevent可以表示有一系列与触摸事件发生位置相关的函数,可以包括gety和getx等,触摸操作信息通常可以指的是触摸事件。非下拉控件通常可以指的是该页面中除下拉控件之外的交互控件。
57.具体地,出现触摸事件时调整下拉控件中的处理触摸事件方法,使下拉控件不将
该触摸事件进行拦截,在触摸屏或者显示屏中进行按下动作的情况下,发生触摸动作信息,并且出现与触摸动作信息对应的触摸操作信息(触摸事件),通过调整后的处理触摸事件方法可以发送触摸操作信息至下拉控件对应页面中非下拉控件。
58.s206,根据所述手势信息数据确定触摸目标对象和触摸位置起始信息数据。
59.其中,触摸目标对象通常可以是控制下拉控件的对象,可以是手指,触摸笔等。触摸位置起始信息数据通常可以是未移动时触摸目标对象所在的显示屏或者触摸屏上的位置。
60.具体地,可以根据按下动作信息和抬起动作信息对应的手势信息数据确定当前还在显示屏或者触摸屏上的触摸对象,从而根据该触摸对象确定触摸目标对象。可以根据按下动作信息和抬起动作信息对应的手势信息数据确定当前触摸目标对象在显示屏或者触摸屏上的位置,进而确定触摸位置起始信息数据。
61.s208,在所述触摸目标对象移动的情况下,根据所述触摸目标对象的移动位置、所述触摸位置起始信息数据控制所述下拉控件实现下拉操作。
62.具体地,上述确定触摸目标对象前已经将触摸操作信息发送至非下拉控件中,所以当触摸目标对象移动时,可以根据所述触摸目标对象的移动位置、所述触摸位置起始信息数据控制所述下拉控件实现下拉操作。也可以在控制下拉控件的同时,因为非下拉控件已经接收到触摸操作信息,所以也可以根据触摸目标对象的移动位置、所述触摸位置起始信息数据控制非下拉控件,实现触摸非下拉控件时对应的功能。
63.需要说明的是,该下拉控件的处理过程中的下拉控件是基于安卓端系统组件viewgroup自定义实现的。
64.上述下拉控件数据处理方法中,能够通过按下动作信息和抬起动作信息对应的手势信息数据确定最终需要识别的触摸目标对象,且识别到按下动作信息的情况下,不拦截触摸操作信息,使得其他交互控件也能够识别到触摸事件,当确定的触摸目标对象进行下拉操作时,根据通过手势信息确定的触摸位置起始信息数据能够对应的控制下拉控件,且在控制下拉控件的过程中,因为其他交互控件也能识别到触摸事件,所以其他的交互控件也可根据触摸目标对象的其他操作实现对应的功能。
65.在一个实施例中,所述按下动作信息包括单按下动作信息和多按下动作信息;所述在获取到触摸控制动作的情况下,获取所述触摸控制动作的手势信息数据,包括下述中的一种:
66.在获取到所述单按下动作信息的情况下,获取所述单按下动作信息对应的第一目标对象,以及所述第一目标对象的触摸位置信息。
67.其中,单按下动作信息通常可以是单手指操作时输出的信息,可以是action_down信息,该信息通常可以是在第一个触点按下时触发,也就是在这之前屏幕上没有任何触点,通常可以是第一个手指在屏幕按下的时候触发。触摸位置信息通常可以是单手指或者多手指触摸屏幕时,相对于屏幕的位置信息或者坐标信息。手势信息可以包括目标对象的信息和触摸位置信息。
68.具体地,当单手指在屏幕上进行操作时,此时发生触摸事件,可以通过分发事件触摸方法获取到单按下动作信息,然后通过触摸事件中的getpointerid方法获取记录在屏幕上进行操作的第一目标对象,可以是触摸手指信息,然后通过触摸事件中的gety和getx方
法获取第一目标对象的触摸位置信息。
69.在获取到所述多按下动作信息的情况下,获取所述多按下动作信息对应的多个第二目标对象,以及多个第二目标对象的触摸位置信息。
70.其中,多按下动作信息通常可以是多手指操作时输出的信息,可以是action_pointer_down,该信息通常可是第一个触点之外的触点按下时触发,也就是一个触点按下时不会触发,需要第二个或第二个以上的触点按下时才会触发。
71.具体地,当至少两根手指在屏幕上进行操作时,此时发生触摸事件,可以通过分发事件触摸方法获取到多按下动作信息,通过触摸事件中getactionindex和getpointerid方法获取并记录在屏幕上进行操作的多个第二目标对象,以及通过触摸事件中gety和getx方法获取第二目标对象的触摸位置信息。
72.在另一些实施方式中,还可以是先获取到所述单按下动作信息,然后获取到所述多按下动作信息。此时的触摸控制动作的手势信息以多按下动作信息的为准。具体实施过程可参见上述,在此不进行重复赘述。
73.本实施例中,通过识别不同的按下操作,能够识别多按下操作时的多个目标对象也能够识别单按下操作时的单一目标对象,能够兼容不同中情况的操作,从而能够根据识别到的目标对象更准确的控制下拉控件。
74.在一个实施例中,所述按下动作信息包括单按下动作信息和多按下动作信息;所述在获取到触摸控制动作的情况下,获取所述触摸控制动作的手势信息数据,还包括:
75.在获取到所述抬起动作信息的情况下,获取所述第二目标对象中有效目标对象,得到第三目标对象,以及所述第三目标对象的触摸位置信息,所述有效目标对象是根据未输出所述抬起动作信息的所述第二目标对象确定的。
76.其中,抬起动作信息通常可以是不是最后一个手指离开屏幕时触发的信息,通常可以是action_pointer_up,该信息通常在单按下动作发出后不会触发。有效目标对象可以执行抬起动作后第二目标对象中剩余的目标对象。
77.具体地,当在屏幕上操作的至少两根手指中其他手指离开屏幕时,至少需要一根手指在屏幕上操作时,同时可以通过分发事件触摸方法获取到抬起动作信息,此时未离开屏幕的手指可以是第二目标对象中的其他未输出抬起动作信息的目标对象,该未输出抬起动作信息的目标对象继续发出触摸事件,然后可以通过触摸事件中的getpointerid方法获取并记录该第二目标对象中继续发出触摸事件的目标对象,该目标对象可以为有效目标对象。通过有效目标对象可以确定第三目标对象。通过触摸事件中的gety和getx方法获取第三目标对象的触摸位置信息。
78.在本实施例中,当不是最后一个手指离开屏幕时,重新获取当前情况下在屏幕上的目标对象,能够兼容多种不同的手势动作,从而确定进行不同动作时对应的目标对象。
79.在一个实施例中,如图3所示,所述根据所述手势信息数据确定触摸目标对象和触摸位置起始信息数据,包括下述中的一种:
80.s302,在获取到所述单按下动作信息的情况下,根据所述第一目标对象确定触摸目标对象,根据所述第一目标对象的触摸位置信息确定所述触摸位置起始信息数据。
81.具体地,在单根手指在屏幕进行操作时,可以参照上述实施例确定第一目标对象,然后该第一目标对象可以确定为触摸目标对象。进而可以根据该第一目标对象在屏幕中触
摸位置信息确定触摸位置起始信息。
82.s304,在获取到所述多按下动作信息的情况下,根据多个所述第二目标对象确定触摸目标对象,根据多个第二目标对象的触摸位置信息确定所述触摸位置起始信息数据。
83.具体地,在至少两根手指在屏幕进行操作时,可以参照上述实施例确定第二目标对象,然后该第二目标对象可以确定为触摸目标对象。进而可以根据该第二目标对象在屏幕中触摸位置信息确定触摸位置起始信息。
84.s306,在获取到所述抬起动作信息的情况下,获取所述第二目标对象中有效目标对象,得到第三目标对象,以及所述第三目标对象的触摸位置信息,根据所述第三目标对象确定所述触摸目标对象,根据所述第三目标对象的触摸位置信息确定所述触摸位置起始信息数据。
85.具体地,当在屏幕上操作的至少两根手指中其他手指离开屏幕时,至少需要一根手指在屏幕上操作时,可以参照上述实施例确定第三目标对象,然后该第三目标对象可以确定为触摸目标对象。进而可以根据该第三目标对象在屏幕中触摸位置信息确定触摸位置起始信息。
86.s308,输出触摸目标对象以及触摸位置起始信息。
87.在本实施例中,能够根据不同动作信息对应的手势信息确定不同的目标对象,进而确定触摸目标对象以及对应的触摸位置起始信息数据,进而可以通过确定的触摸目标对象以及对应的触摸位置起始信息数据控制下拉控件,能够更加准确的控制下拉控件。
88.在一个实施例中,所述使下拉控件不拦截触摸操作信息,包括:
89.调整所述下拉控件中处理触摸事件方法的返回值以及通过调用下拉控件中的事件向下分发方法使所述下拉控件不拦截触摸操作信息。
90.具体地,通过调整下拉控件中的处理触摸事件方法,使处理触摸事件方法返回返回值,可以是返回false,从而使下拉控件中不拦截触摸操作信息(触摸事件)。通过分发事件触摸方法调用下拉控件中的事件向下分发方法,通过事件向下分发方法将触摸操作信息发送至下拉控件中的子控件,在下拉过程中使得下拉控件中的子控件能接收触摸事件,使下拉控件中不拦截触摸操作信息的同时可以响应触摸操作信息(触摸事件)。
91.其中,处理触摸事件方法可以是onintercepttouchevent方法也可以是本领域技术人员根据实际情况进行自定义的其他方法能够实现onintercepttouchevent方法对应的功能,onintercepttouchevent方法通常是能够对上述的触摸事件进行拦截的方法,通过处理触摸事件方法可以将触摸事件进行拦截,当处理触摸事件方法返回拦截值,可以是true值时,将触摸事件传输到下拉控件的ontouchevent方法中。事件向下分发方法通常可以是super.dispatchtouchevent方法,也可以是本领域人员自定义的方法,能够实现super.dispatchtouchevent方法相对应的功能,super.dispatchtouchevent方法通常属于下拉控件所对应的系统中自带触摸事件处理过程,会把motionevent继续分发给下拉控件中的子控件处理。
92.在一些实施方式中,例如页面上存在下拉控件a和控件b,当发生触摸事件时,下拉控件a不拦截该触摸事件,并通过下拉控件中的事件向下分发方法将触摸操作信息发送至下拉控件中的子控件,下拉控件a中的子控件接收到触摸事件实现下拉操作,且同时可以把触摸事件分发给控件b,让控件b执行移动或其他操作。
93.在本实施例中,通过使处理触摸事件方法返回false,能够不拦截触摸事件,进而当发生触摸事件时能够将该触摸事件发送至其他交互控件,让其他交互控件额外的产生对应的功能。
94.在一个实施例中,如图4所示,所述在所述触摸目标对象移动的情况下,根据所述触摸目标对象的移动位置、所述触摸位置起始信息数据控制所述下拉控件实现下拉操作,包括:
95.s402,在所述触摸目标对象移动的情况下,输出触摸移动信息。
96.s404,在识别到所述触摸移动信息的情况下,根据所述触摸目标对象在所述页面中的移动的坐标信息和所述触摸位置起始信息数据确定所述触摸目标对象在所述页面的移动距离。
97.s406,根据所述移动距离控制所述下拉控件,实现下拉操作。
98.s408,在获取到全部抬起动作信息或目标对象移出信息的情况下,停止控制所述下拉控件,结束下拉操作。
99.其中,触摸移动信息可以是action_move信息,该信息的触发方式可以是当屏幕上的触点移动时触发,不管是第几个手指移动都会触发。全部抬起动作信息可以是action_up,该信息的触发方式可以是当最后一个触点从屏幕上离开时才会触发,比如两个手指在屏幕上,松开一个手指时是不会触发这个信息,需要再松开最后一个手指时才会触发。目标对象移出信息可以是action_cancel,该信息的触发方式可以是当触点从下拉控件的视图中移出时会触发,比如其中一个手指在下拉控件中对应的视图中,该手指从下拉控件的视图中移至其他视图中时,会触发action_cancel。
100.具体地,在通过上述方式确定的触摸目标对象移动的情况下,该触摸目标对象可以为多个也可以为单个,输出触摸移动信息。当下拉控件识别到触摸移动信息时,通过触摸操作信息中的gety和getx方法确定触摸目标对象在对应的下拉控件中的页面中移动的坐标信息,将该移动的坐标信息和触摸位置起始信息数据对应的坐标信息进行对比,进而可以确定该触摸目标对象的移动距离。当为多个触摸目标对象时,可以计算出不同的移动距离,可以根据最长的移动距离或最短的移动距离并调用布局方法(可以是layout方法)控制下拉控件,下拉控件根据移动的距离对应的实现下拉操作。当手指从屏幕上全部抬起或者从下拉控件的视图中移出时,会触发全部抬起动作信息或目标对象移出信息,在获取到全部抬起动作信息或目标对象移出信息的情况下,停止调用布局方法,停止控制所述下拉控件,结束下拉操作并清除上述得到的临时数据,临时数据可以包括触摸目标对象信息、触摸位置起始信息数据、第二目标对象等。
101.在本实施例中,能够通过触摸位置起始信息数据和移动的坐标信息确定移动距离,根据触摸目标对象的移动距离更加精准的控制下拉控件,且当不需要操作下拉控件时,能够通过全部抬起动作信息或目标对象移出信息准确的识别到,并且及时的停止控制下拉控件并且清除临时数据,能够减少下拉控件消耗的内存资源,提升性能。
102.在一个实施例中,所述方法还包括:
103.在控制所述下拉控件的过程中,将所述触摸移动信息调整为所述多按下动作信息或抬起动作信息。
104.具体地,在控制下拉控件的过程中,会输出触摸移动信息,此时如果触摸目标对象
移动控制其他交互控件则会再次确定移动距离,会造成滑动冲突,所以通过setaction将下拉控件中识别到的触摸移动信息调整为多按下动作信息或抬起动作信息,然后调用super.dispatchtouchevent方法分发给下拉控件中的子控件,让下拉控件中的子控件误以为是多手指按压的操作或多手指中某几个手指的抬起操作,从而子控件不会产生滑动操作。
105.在本实施例中,通过将所述触摸移动信息调整为所述多按下动作信息能够解决下拉控件和其他交互控件进行处理时的滑动冲突问题。
106.在一个实施例中,如图5所示,所述在获取到触摸控制动作的情况下,获取所述触摸控制动作的手势信息数据之前,还包括:
107.s502,在所述下拉控件对应的页面中的元素加载完成的情况下,获取并记录所述页面中所有交互控件。
108.s504,通过筛选方法获取并记录所述交互控件中除所述下拉控件和所述下拉控件对应的子控件之外的所述非下拉控件。
109.其中,筛选方法可以是getparent。能够获取仅仅获取指定的交互控件。getparent的功能通常能够获得一个指定子窗口的父窗口句柄。
110.具体地,在下拉控件对应的页面初始化时,可以是等待该界面中所有元素加载完成的情况下,通过addview方法获取并记录该页面中所有的交互控件。通过getparent获取并记录该页面中所有的交互控件中除下拉控件和下拉控件对应的子控件得到非下拉控件。其中,addview方法的功能是获取所有的交互控件。
111.在本实施例中,通过getparent和addview方法能够获取到该页面中的非下拉控件,进而可以将上述的触摸事件发送至其他交互控件,从而在控制下拉控件的同时可以让其他交互控件能够根据触摸事件实现对应的操作。
112.应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
113.基于同样的发明构思,本公开实施例还提供了一种用于实现上述所涉及的下拉控件数据处理方法的下拉控件数据处理装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个下拉控件数据处理装置实施例中的具体限定和实施方式可以参见上文中对于下拉控件数据处理方法的实施例,在此不再赘述。
114.在一个实施例中,如图6所示,提供了一种下拉控件数据处理装置600,包括:手势信息获取模块602、触摸操作发送模块604、触摸信息确定模块606和下拉控件控制模块608,其中:
115.手势信息获取模块602,用于在获取到触摸控制动作信息的情况下,获取所述触摸控制动作信息的手势信息数据,所述触摸控制动作信息包括按下动作信息和抬起动作信
息。
116.触摸操作发送模块604,用于使下拉控件不拦截触摸操作信息,在识别到所述按下动作信息的情况下,发送所述触摸操作信息至所述下拉控件对应的页面中非下拉控件。
117.触摸信息确定模块606,用于根据所述手势信息数据确定触摸目标对象和触摸位置起始信息数据。
118.下拉控件控制模块608,用于在所述触摸目标对象移动的情况下,根据所述触摸目标对象的移动位置、所述触摸位置起始信息数据控制所述下拉控件实现下拉操作。
119.在所述装置的一个实施例中,所述按下动作信息包括单按下动作信息和多按下动作信息;所述触摸操作发送模块604包括:第一目标对象确定模块、第二目标对象确定模块;
120.第一目标对象确定模块,用于在获取到所述单按下动作信息的情况下,获取所述单按下动作信息对应的第一目标对象,以及所述第一目标对象的触摸位置信息。
121.第二目标对象确定模块,用于在获取到所述多按下动作信息的情况下,获取所述多按下动作信息对应的多个第二目标对象,以及多个第二目标对象的触摸位置信息。
122.在所述装置的一个实施例中,所述触摸操作发送模块604还包括:第三目标对象确定模块,用于在获取到所述抬起动作信息的情况下,获取所述第二目标对象中有效目标对象,得到第三目标对象,以及所述第三目标对象的触摸位置信息,所述有效目标对象是根据未输出所述抬起动作信息的所述第二目标对象确定的。
123.在所述装置的一个实施例中,所述触摸信息确定模块606用于通过下述一种的一种方式确定触摸目标对象和触摸位置起始信息数据:
124.在获取到所述单按下动作信息的情况下,根据所述第一目标对象确定触摸目标对象,根据所述第一目标对象的触摸位置信息确定所述触摸位置起始信息数据。
125.在获取到所述多按下动作信息的情况下,根据多个所述第二目标对象确定触摸目标对象,根据多个第二目标对象的触摸位置信息确定所述触摸位置起始信息数据。
126.在获取到所述抬起动作信息的情况下,获取所述第二目标对象中有效目标对象,得到第三目标对象,以及所述第三目标对象的触摸位置信息,根据所述第三目标对象确定所述触摸目标对象,根据所述第三目标对象的触摸位置信息确定所述触摸位置起始信息数据。
127.在所述装置的一个实施例中,所述触摸操作发送模块604还用于调整所述下拉控件中处理触摸事件方法的返回值以及通过调用下拉控件中的事件向下分发方法使所述下拉控件不拦截触摸操作信息。
128.在所述装置的一个实施例中,所述下拉控件控制模块608包括:触摸信息输出模块、移动距离确定模块、控制模块、结束模块,其中:
129.触摸信息输出模块,用于在所述触摸目标对象移动的情况下,输出触摸移动信息。
130.移动距离确定模块,用于在识别到所述触摸移动信息的情况下,根据所述触摸目标对象在所述页面中的移动的坐标信息和所述触摸位置起始信息数据确定所述触摸目标对象在所述页面的移动距离。
131.控制模块,用于根据所述移动距离控制所述下拉控件,实现下拉操作。
132.结束模块,用于在获取到全部抬起动作信息或目标对象移出信息的情况下,停止控制所述下拉控件,结束下拉操作。
133.在所述装置的一个实施例中,所述装置还包括:信息调整模块,用于在控制所述下拉控件的过程中,将所述触摸移动信息调整为所述多按下动作信息或抬起动作信息。
134.在所述装置的一个实施例中,所述装置还包括:交互控件记录模块、交互控件筛选模块,其中:
135.交互控件记录模块,用于在所述下拉控件对应的页面中的元素加载完成的情况下,获取并记录所述页面中所有交互控件。
136.交互控件筛选模块,用于通过筛选方法获取并记录所述交互控件中除所述下拉控件和所述下拉控件对应的子控件之外的所述非下拉控件。
137.上述下拉控件数据处理装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
138.在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图7所示。该计算机设备包括通过系统总线连接的处理器、存储器、通信接口、显示屏和输入装置。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现一种下拉控件数据处理方法。该计算机设备的显示屏可以是液晶显示屏或者电子墨水显示屏,该计算机设备的输入装置可以是显示屏上覆盖的触摸层,也可以是计算机设备外壳上设置的按键、轨迹球或触控板,还可以是外接的键盘、触控板或鼠标等。
139.本领域技术人员可以理解,图7中示出的结构,仅仅是与本公开方案相关的部分结构的框图,并不构成对本公开方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
140.在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
141.在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
142.在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被处理器执行时实现上述各方法实施例中的步骤。
143.本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本公开所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(read-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(reram)、磁变存储器(magnetoresistive random access memory,mram)、铁电存储器(ferroelectric random access memory,fram)、相变存储器(phase change memory,
pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(random access memory,ram)或外部高速缓冲存储器等。作为说明而非局限,ram可以是多种形式,比如静态随机存取存储器(static random access memory,sram)或动态随机存取存储器(dynamic random access memory,dram)等。本公开所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本公开所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
144.以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
145.以上所述实施例仅表达了本公开的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本公开专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本公开构思的前提下,还可以做出若干变形和改进,这些都属于本公开的保护范围。因此,本公开的保护范围应以所附权利要求为准。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献