• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# native_gesture.h
2<!--Kit: ArkUI-->
3<!--Subsystem: ArkUI-->
4<!--Owner: @jiangtao92-->
5<!--Designer: @piggyguy-->
6<!--Tester: @songyanhong-->
7<!--Adviser: @HelloCrease-->
8
9## 概述
10
11提供NativeGesture接口的类型定义。
12
13**引用文件:** <arkui/native_gesture.h>
14
15**库:** libace_ndk.z.so
16
17**系统能力:** SystemCapability.ArkUI.ArkUI.Full
18
19**起始版本:** 12
20
21**相关模块:** [ArkUI_NativeModule](capi-arkui-nativemodule.md)
22
23**相关示例:** <!--RP1-->[NdkGestureSetting](https://gitcode.com/openharmony/applications_app_samples/tree/master/code/DocsSample/ArkUISample/NdkGestureSetting)<!--RP1End-->、<!--RP2-->[NdkGestureNestScroll](https://gitcode.com/openharmony/applications_app_samples/tree/master/code/DocsSample/ArkUISample/NdkGestureNestScroll)<!--RP2End-->
24
25## 汇总
26
27### 结构体
28
29| 名称                                                                                            | typedef关键字                       | 描述                |
30|-----------------------------------------------------------------------------------------------|----------------------------------|-------------------|
31| [ArkUI_NativeGestureAPI_1](capi-arkui-nativemodule-arkui-nativegestureapi-1.md)               | ArkUI_NativeGestureAPI_1         | 手势模块接口集合。         |
32| [ArkUI_NativeGestureAPI_2](capi-arkui-nativemodule-arkui-nativegestureapi-2.md)               | -                                | 定义手势模块接口集合。       |
33| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)                 | ArkUI_GestureRecognizer          | 提供手势组件实例对象定义。     |
34| [ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)           | ArkUI_GestureInterruptInfo       | 提供手势打断数据类型对象定义。   |
35| [ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)                           | ArkUI_GestureEvent               | 提供手势事件数据类型对象定义。   |
36| [ArkUI_GestureEventTargetInfo](capi-arkui-nativemodule-arkui-gestureeventtargetinfo.md)       | ArkUI_GestureEventTargetInfo     | 提供手势事件目标信息类型对象定义。 |
37| [ArkUI_ParallelInnerGestureEvent](capi-arkui-nativemodule-arkui-parallelinnergestureevent.md) | ArkUI_ParallelInnerGestureEvent  | 提供并行内部手势事件类型对象定义。 |
38| [ArkUI_TouchRecognizer](capi-arkui-nativemodule-arkui-touchrecognizer.md)                     | ArkUI_TouchRecognizer            | 定义触摸识别器。          |
39| [ArkUI_TouchRecognizerHandle*](capi-arkui-nativemodule-arkui-touchrecognizerhandlearray.md)   | ArkUI_TouchRecognizerHandleArray | 定义触摸识别器句柄数组。      |
40| [ArkUI_GestureRecognizerHandle*](capi-arkui-nativemodule-arkui-gesturerecognizerhandle.md)    | ArkUI_GestureRecognizerHandleArray  | 提供手势识别器句柄类型数组对象定义。   |
41
42### 枚举
43
44| 名称 | typedef关键字 | 描述 |
45| -- | -- | -- |
46| [ArkUI_GestureEventActionType](#arkui_gestureeventactiontype) | ArkUI_GestureEventActionType | 定义手势事件类型。 |
47| [ArkUI_GesturePriority](#arkui_gesturepriority) | ArkUI_GesturePriority | 定义手势事件模式。 |
48| [ArkUI_GroupGestureMode](#arkui_groupgesturemode) | ArkUI_GroupGestureMode | 定义手势组事件模式。 |
49| [ArkUI_GestureDirection](#arkui_gesturedirection) | ArkUI_GestureDirection | 定义滑动手势方向。 |
50| [ArkUI_GestureMask](#arkui_gesturemask) | ArkUI_GestureMask | 定义手势屏蔽模式。 |
51| [ArkUI_GestureRecognizerType](#arkui_gesturerecognizertype) | ArkUI_GestureRecognizerType | 定义手势类型。 |
52| [ArkUI_GestureInterruptResult](#arkui_gestureinterruptresult) | ArkUI_GestureInterruptResult | 定义手势打断结果。 |
53| [ArkUI_GestureRecognizerState](#arkui_gesturerecognizerstate) | ArkUI_GestureRecognizerState | 定义手势识别器状态。 |
54
55### 函数
56
57| 名称 | typedef关键字 | 描述 |
58| -- | -- | -- |
59| [typedef void (\*ArkUI_GestureRecognizerDisposeNotifyCallback)(ArkUI_GestureRecognizer* recognizer, void* userData)](#arkui_gesturerecognizerdisposenotifycallback) | ArkUI_GestureRecognizerDisposeNotifyCallback | 定义手势识别器析构通知事件的回调函数类型。 |
60| [bool OH_ArkUI_GestureInterruptInfo_GetSystemFlag(const ArkUI_GestureInterruptInfo* event)](#oh_arkui_gestureinterruptinfo_getsystemflag) | - | 判断是否组件内置手势。 |
61| [ArkUI_GestureRecognizer* OH_ArkUI_GestureInterruptInfo_GetRecognizer(const ArkUI_GestureInterruptInfo* event)](#oh_arkui_gestureinterruptinfo_getrecognizer) | - | 返回被打断的手势指针。 |
62| [ArkUI_GestureEvent* OH_ArkUI_GestureInterruptInfo_GetGestureEvent(const ArkUI_GestureInterruptInfo* event)](#oh_arkui_gestureinterruptinfo_getgestureevent) | - | 返回打断的手势事件数据。 |
63| [int32_t OH_ArkUI_GestureInterruptInfo_GetSystemRecognizerType(const ArkUI_GestureInterruptInfo* event)](#oh_arkui_gestureinterruptinfo_getsystemrecognizertype) | - | 当要触发的是系统内部手势时,使用该方法可返回该系统内部手势的类型。 |
64| [int32_t OH_ArkUI_GestureInterruptInfo_GetTouchRecognizers(const ArkUI_GestureInterruptInfo* info,ArkUI_TouchRecognizerHandleArray* recognizers, int32_t* size)](#oh_arkui_gestureinterruptinfo_gettouchrecognizers) | - | 从手势打断信息中获取触摸识别器。 |
65| [ArkUI_NodeHandle OH_ArkUI_TouchRecognizer_GetNodeHandle(const ArkUI_TouchRecognizerHandle recognizer)](#oh_arkui_touchrecognizer_getnodehandle) | - | 获取触摸识别器对应的组件句柄。 |
66| [int32_t OH_ArkUI_TouchRecognizer_CancelTouch(ArkUI_TouchRecognizerHandle recognizer, ArkUI_GestureInterruptInfo* info)](#oh_arkui_touchrecognizer_canceltouch) | - | 在手势打断回调中向指定的触摸识别器发送取消触摸的事件 |
67| [ArkUI_GestureEventActionType OH_ArkUI_GestureEvent_GetActionType(const ArkUI_GestureEvent* event)](#oh_arkui_gestureevent_getactiontype) | - | 返回手势事件类型。 |
68| [const ArkUI_UIInputEvent* OH_ArkUI_GestureEvent_GetRawInputEvent(const ArkUI_GestureEvent* event)](#oh_arkui_gestureevent_getrawinputevent) | - | 返回手势输入。 |
69| [int32_t OH_ArkUI_LongPress_GetRepeatCount(const ArkUI_GestureEvent* event)](#oh_arkui_longpress_getrepeatcount) | - | 返回是否为重复触发事件。 |
70| [float OH_ArkUI_PanGesture_GetVelocity(const ArkUI_GestureEvent* event)](#oh_arkui_pangesture_getvelocity) | - | 滑动手势返回手势主方向速度。 |
71| [float OH_ArkUI_PanGesture_GetVelocityX(const ArkUI_GestureEvent* event)](#oh_arkui_pangesture_getvelocityx) | - | 滑动手势返回当前手势的x轴方向速度。 |
72| [float OH_ArkUI_PanGesture_GetVelocityY(const ArkUI_GestureEvent* event)](#oh_arkui_pangesture_getvelocityy) | - | 滑动手势返回当前手势的y轴方向速度。 |
73| [float OH_ArkUI_PanGesture_GetOffsetX(const ArkUI_GestureEvent* event)](#oh_arkui_pangesture_getoffsetx) | - | 滑动手势返回当前手势事件x轴相对偏移量。 |
74| [float OH_ArkUI_PanGesture_GetOffsetY(const ArkUI_GestureEvent* event)](#oh_arkui_pangesture_getoffsety) | - | 滑动手势返回当前手势事件y轴相对偏移量。 |
75| [float OH_ArkUI_SwipeGesture_GetAngle(const ArkUI_GestureEvent* event)](#oh_arkui_swipegesture_getangle) | - | 滑动手势返回当前手势事件角度信息。角度计算方式:滑动手势被识别到后,连接两根手指之间的线被识别为起始线条,随着手指的滑动,手指之间的线条会发生旋转,<br>        根据起始线条两端点和当前线条两端点的坐标,使用反正切函数分别计算其相对于水平方向的夹角,<br>        最后arctan2(cy2-cy1,cx2-cx1)-arctan2(y2-y1,x2-x1)为旋转的角度。<br>        以起始线条为坐标系,顺时针旋转为0到180度,逆时针旋转为-180到0度。<br> |
76| [float OH_ArkUI_SwipeGesture_GetVelocity(const ArkUI_GestureEvent* event)](#oh_arkui_swipegesture_getvelocity) | - | 滑动手势场景中所有手指滑动平均速度。 |
77| [float OH_ArkUI_RotationGesture_GetAngle(const ArkUI_GestureEvent* event)](#oh_arkui_rotationgesture_getangle) | - | 旋转手势返回当前手势事件角度信息。 |
78| [float OH_ArkUI_PinchGesture_GetScale(const ArkUI_GestureEvent* event)](#oh_arkui_pinchgesture_getscale) | - | 捏合手势返回当前手势事件缩放信息。 |
79| [float OH_ArkUI_PinchGesture_GetCenterX(const ArkUI_GestureEvent* event)](#oh_arkui_pinchgesture_getcenterx) | - | 捏合手势中心点相对于当前组件元素左上角x轴坐标。 |
80| [float OH_ArkUI_PinchGesture_GetCenterY(const ArkUI_GestureEvent* event)](#oh_arkui_pinchgesture_getcentery) | - | 捏合手势中心点相对于当前组件元素左上角y轴坐标。 |
81| [ArkUI_NodeHandle OH_ArkUI_GestureEvent_GetNode(const ArkUI_GestureEvent* event)](#oh_arkui_gestureevent_getnode) | - | 获取绑定该手势的ARKUI组件 |
82| [int32_t OH_ArkUI_GetResponseRecognizersFromInterruptInfo(const ArkUI_GestureInterruptInfo* event,ArkUI_GestureRecognizerHandleArray* responseChain, int32_t* count)](#oh_arkui_getresponserecognizersfrominterruptinfo) | - | 获取手势响应链的信息。 |
83| [int32_t OH_ArkUI_SetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer, bool enabled)](#oh_arkui_setgesturerecognizerenabled) | - | 设置手势识别器的使能状态。 |
84| [int32_t OH_ArkUI_SetGestureRecognizerLimitFingerCount(ArkUI_GestureRecognizer* recognizer, bool limitFingerCount)](#oh_arkui_setgesturerecognizerlimitfingercount) | - | 设置是否严格检查触摸手指数量的标志。实际触摸手指数量不等于设置的手指数量的时候,该手势识别不成功。 |
85| [bool OH_ArkUI_GetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer)](#oh_arkui_getgesturerecognizerenabled) | - | 获取手势识别器的使能状态。 |
86| [int32_t OH_ArkUI_GetGestureRecognizerState(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureRecognizerState* state)](#oh_arkui_getgesturerecognizerstate) | - | 获取手势识别器的状态。 |
87| [int32_t OH_ArkUI_GetGestureEventTargetInfo(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureEventTargetInfo** info)](#oh_arkui_getgestureeventtargetinfo) | - | 获取手势事件目标信息。 |
88| [int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollBegin(ArkUI_GestureEventTargetInfo* info, bool* ret)](#oh_arkui_gestureeventtargetinfo_isscrollbegin) | - | 当前滚动类容器组件是否在顶部。 |
89| [int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollEnd(ArkUI_GestureEventTargetInfo* info, bool* ret)](#oh_arkui_gestureeventtargetinfo_isscrollend) | - | 当前滚动类容器组件是否在底部。 |
90| [int32_t OH_ArkUI_GetPanGestureDirectionMask(ArkUI_GestureRecognizer* recognizer,ArkUI_GestureDirectionMask* directionMask)](#oh_arkui_getpangesturedirectionmask) | - | 获取滑动手势的滑动方向。 |
91| [bool OH_ArkUI_IsBuiltInGesture(ArkUI_GestureRecognizer* recognizer)](#oh_arkui_isbuiltingesture) | - | 当前手势是否为系统内置手势。 |
92| [int32_t OH_ArkUI_GetGestureTag(ArkUI_GestureRecognizer* recognizer, char* buffer, int32_t bufferSize, int32_t* result)](#oh_arkui_getgesturetag) | - | 获取手势识别器的标记。 |
93| [int32_t OH_ArkUI_GetGestureBindNodeId(ArkUI_GestureRecognizer* recognizer, char* nodeId, int32_t size,int32_t* result)](#oh_arkui_getgesturebindnodeid) | - | 获取手势识别器绑定的组件的ID。 |
94| [bool OH_ArkUI_IsGestureRecognizerValid(ArkUI_GestureRecognizer* recognizer)](#oh_arkui_isgesturerecognizervalid) | - | 当前手势识别器是否有效。 |
95| [void* OH_ArkUI_ParallelInnerGestureEvent_GetUserData(ArkUI_ParallelInnerGestureEvent* event)](#oh_arkui_parallelinnergestureevent_getuserdata) | - | 获取并行内部手势事件中的用户自定义数据。 |
96| [ArkUI_GestureRecognizer* OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer(ArkUI_ParallelInnerGestureEvent* event)](#oh_arkui_parallelinnergestureevent_getcurrentrecognizer) | - | 获取并行内部手势事件中的当前手势识别器。 |
97| [int32_t OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers(ArkUI_ParallelInnerGestureEvent* event,ArkUI_GestureRecognizerHandleArray* array, int32_t* size)](#oh_arkui_parallelinnergestureevent_getconflictrecognizers) | - | 获取并行内部手势事件中的冲突的手势识别器。 |
98| [int32_t OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify(ArkUI_GestureRecognizer* recognizer,ArkUI_GestureRecognizerDisposeNotifyCallback callback, void* userData)](#oh_arkui_setarkuigesturerecognizerdisposenotify) | - | 设置手势识别器对象析构通知回调函数。 |
99| [int32_t OH_ArkUI_GetGestureParam_DirectMask(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureDirectionMask* directMask)](#oh_arkui_getgestureparam_directmask) | - | 获取手势识别器的滑动方向。 |
100| [int32_t OH_ArkUI_GetGestureParam_FingerCount(ArkUI_GestureRecognizer* recognizer, int* finger)](#oh_arkui_getgestureparam_fingercount) | - | 获取手势识别器的手指数。 |
101| [int32_t OH_ArkUI_GetGestureParam_limitFingerCount(ArkUI_GestureRecognizer* recognizer, bool* isLimited)](#oh_arkui_getgestureparam_limitfingercount) | - | 获取手势识别器是否有手指数限制。 |
102| [int32_t OH_ArkUI_GetGestureParam_repeat(ArkUI_GestureRecognizer* recognizer, bool* isRepeat)](#oh_arkui_getgestureparam_repeat) | - | 获取手势识别器是否连续触发事件回调。 |
103| [int32_t OH_ArkUI_GetGestureParam_distance(ArkUI_GestureRecognizer* recognizer, double* distance)](#oh_arkui_getgestureparam_distance) | - | 获取手势识别器的手指允许的移动距离范围。 |
104| [int32_t OH_ArkUI_GetGestureParam_speed(ArkUI_GestureRecognizer* recognizer, double* speed)](#oh_arkui_getgestureparam_speed) | - | 获取手势识别器的识别滑动的最小速度。 |
105| [int32_t OH_ArkUI_GetGestureParam_duration(ArkUI_GestureRecognizer* recognizer, int* duration)](#oh_arkui_getgestureparam_duration) | - | 获取手势识别器的触发长按的最短时间。 |
106| [int32_t OH_ArkUI_GetGestureParam_angle(ArkUI_GestureRecognizer* recognizer, double* angle)](#oh_arkui_getgestureparam_angle) | - | 获取手势识别器的旋转手势的最小改变度数。 |
107| [int32_t OH_ArkUI_GetGestureParam_distanceThreshold(ArkUI_GestureRecognizer* recognizer, double* distanceThreshold)](#oh_arkui_getgestureparam_distancethreshold) | - | 获取手势识别器的手势移动阈值。 |
108| [ArkUI_ErrorCode OH_ArkUI_PanGesture_SetDistanceMap(ArkUI_GestureRecognizer* recognizer, int size, int* toolTypeArray, double* distanceArray)](#oh_arkui_pangesture_setdistancemap) | - | 设置手势最小滑动阈值表。当设备类型为非法值时,设置不生效。 |
109| [ArkUI_ErrorCode OH_ArkUI_PanGesture_GetDistanceByToolType(ArkUI_GestureRecognizer* recognizer, int toolType, double* distance)](#oh_arkui_pangesture_getdistancebytooltype) | - | 获取手势识别器的手势移动阈值表。仅支持对通过OH_ArkUI_PanGesture_SetDistanceMap修改过的设备类型的阈值查询。默认滑动阈值可通过查询UI_INPUT_EVENT_TOOL_TYPE_UNKNOWN类型获得,其他未设置过的类型不会返回。 |
110| [ArkUI_ErrorCode OH_ArkUI_SetTouchTestDoneCallback(ArkUI_NodeHandle node,void* userData,void (\*touchTestDone)(ArkUI_GestureEvent* event,ArkUI_GestureRecognizerHandleArray recognizers,int32_t count,void* userData))](#oh_arkui_settouchtestdonecallback) | - | 注册一个在所有手势识别器收集完成后执行的回调函数。当用户开始触摸屏幕时,系统会进行命中测试并根据触摸位置收集手势识别器。随后,在处理任何移动事件之前,组件可以使用此接口确定将参与识别并相互竞争的手势识别器。 |
111| [void* OH_ArkUI_GestureInterrupter_GetUserData(ArkUI_GestureInterruptInfo* event)](#oh_arkui_gestureinterrupter_getuserdata) | - | 获取手势中断事件中的用户自定义数据。 |
112| [ArkUI_ErrorCode OH_ArkUI_PreventGestureRecognizerBegin(ArkUI_GestureRecognizer* recognizer)](#oh_arkui_preventgesturerecognizerbegin) | - | 在手指全部抬起前阻止手势识别器参与当前手势识别。如果系统已确定该手势识别器的结果(无论成功与否),调用此接口将无效。 |
113
114### 变量
115
116| 名称       | typedef关键字                 | 描述                                                                                                                                    |
117|----------|----------------------------|---------------------------------------------------------------------------------------------------------------------------------------|
118| uint32_t | ArkUI_GestureDirectionMask | 定义滑动手势方向集合。<br>例:ArkUI_GestureDirectionMask directions = GESTURE_DIRECTION_LEFT \| GESTURE_DIRECTION_RIGHT。<br>directions 表明支持左右水平方向。 |
119| uint32_t | ArkUI_GestureEventActionTypeMask   | 定义手势事件类型集合。例:ArkUI_GestureEventActionTypeMask actions = GESTURE_EVENT_ACTION_ACCEPT \| GESTURE_EVENT_ACTION_UPDATE;                   |
120
121## 枚举类型说明
122
123### ArkUI_GestureEventActionType
124
125```
126enum ArkUI_GestureEventActionType
127```
128
129**描述:**
130
131
132定义手势事件类型。
133
134**起始版本:** 12
135
136| 枚举项 | 描述 |
137| -- | -- |
138| GESTURE_EVENT_ACTION_ACCEPT = 0x01 | 手势事件触发。 |
139| GESTURE_EVENT_ACTION_UPDATE = 0x02 | 手势事件更新。 |
140| GESTURE_EVENT_ACTION_END = 0x04 | 手势事件结束。 |
141| GESTURE_EVENT_ACTION_CANCEL = 0x08 | 手势事件取消。 |
142
143### ArkUI_GesturePriority
144
145```
146enum ArkUI_GesturePriority
147```
148
149**描述:**
150
151
152定义手势事件模式。
153
154**起始版本:** 12
155
156| 枚举项 | 描述 |
157| -- | -- |
158| NORMAL = 0 | 正常手势。 |
159| PRIORITY = 1 | 高优先级手势。 |
160| PARALLEL = 2 | 并发手势。 |
161
162### ArkUI_GroupGestureMode
163
164```
165enum ArkUI_GroupGestureMode
166```
167
168**描述:**
169
170
171定义手势组事件模式。
172
173**起始版本:** 12
174
175| 枚举项 | 描述 |
176| -- | -- |
177| SEQUENTIAL_GROUP = 0 | 顺序手势模式,按照注册顺序识别手势,直到所有手势识别成功。若有识别失败,后续识别均失败。仅有最后一个手势响应结束事件。 |
178| PARALLEL_GROUP = 1 | 并发手势模式,注册的手势同时识别,直到所有手势识别结束,手势识别互相不影响。 |
179| EXCLUSIVE_GROUP = 2 | 互斥手势模式,注册的手势同时识别,若有一个手势识别成功,则结束手势识别。 |
180
181### ArkUI_GestureDirection
182
183```
184enum ArkUI_GestureDirection
185```
186
187**描述:**
188
189
190定义滑动手势方向。
191
192**起始版本:** 12
193
194| 枚举项 | 描述 |
195| -- | -- |
196| GESTURE_DIRECTION_ALL = 0b1111 | 所有方向。 |
197| GESTURE_DIRECTION_HORIZONTAL = 0b0011 | 水平方向。 |
198| GESTURE_DIRECTION_VERTICAL = 0b1100 | 竖直方向。 |
199| GESTURE_DIRECTION_LEFT = 0b0001 | 向左方向。 |
200| GESTURE_DIRECTION_RIGHT = 0b0010 | 向右方向。 |
201| GESTURE_DIRECTION_UP = 0b0100 | 向上方向。 |
202| GESTURE_DIRECTION_DOWN = 0b1000 | 向下方向。 |
203| GESTURE_DIRECTION_NONE = 0 | 任何方向都不触发手势事件。 |
204
205### ArkUI_GestureMask
206
207```
208enum ArkUI_GestureMask
209```
210
211**描述:**
212
213
214定义手势屏蔽模式。
215
216**起始版本:** 12
217
218| 枚举项 | 描述 |
219| -- | -- |
220| NORMAL_GESTURE_MASK = 0 | 不屏蔽子组件的手势,按照默认手势识别顺序进行识别。 |
221| IGNORE_INTERNAL_GESTURE_MASK | 屏蔽子组件的手势,包括子组件上系统内置的手势。 |
222
223### ArkUI_GestureRecognizerType
224
225```
226enum ArkUI_GestureRecognizerType
227```
228
229**描述:**
230
231
232定义手势类型。
233
234**起始版本:** 12
235
236| 枚举项 | 描述                                |
237| -- |-----------------------------------|
238| TAP_GESTURE = 0 | 敲击手势。                             |
239| LONG_PRESS_GESTURE | 长按手势。                             |
240| PAN_GESTURE | 拖动手势。                             |
241| PINCH_GESTURE | 捏合手势。                             |
242| ROTATION_GESTURE | 旋转手势。                             |
243| SWIPE_GESTURE | 滑动手势。                             |
244| GROUP_GESTURE | 手势组合。                             |
245| CLICK_GESTURE | 通过onClick注册的点击手势。<br>**起始版本:** 20 |
246| DRAG_DROP | 用于拖放的拖拽手势。<br>**起始版本:** 20        |
247
248### ArkUI_GestureInterruptResult
249
250```
251enum ArkUI_GestureInterruptResult
252```
253
254**描述:**
255
256
257定义手势打断结果。
258
259**起始版本:** 12
260
261| 枚举项 | 描述 |
262| -- | -- |
263| GESTURE_INTERRUPT_RESULT_CONTINUE = 0 | 手势继续。 |
264| GESTURE_INTERRUPT_RESULT_REJECT | 手势打断。 |
265
266### ArkUI_GestureRecognizerState
267
268```
269enum ArkUI_GestureRecognizerState
270```
271
272**描述:**
273
274
275定义手势识别器状态。
276
277**起始版本:** 12
278
279| 枚举项 | 描述 |
280| -- | -- |
281| ARKUI_GESTURE_RECOGNIZER_STATE_READY = 0 | 准备状态。 |
282| ARKUI_GESTURE_RECOGNIZER_STATE_DETECTING = 1 | 检测状态。 |
283| ARKUI_GESTURE_RECOGNIZER_STATE_PENDING = 2 | 等待状态。 |
284| ARKUI_GESTURE_RECOGNIZER_STATE_BLOCKED = 3 | 阻塞状态。 |
285| ARKUI_GESTURE_RECOGNIZER_STATE_SUCCESSFUL = 4 | 成功状态。 |
286| ARKUI_GESTURE_RECOGNIZER_STATE_FAILED = 5 | 失败状态。 |
287
288
289## 函数说明
290
291### ArkUI_GestureRecognizerDisposeNotifyCallback()
292
293```
294typedef void (*ArkUI_GestureRecognizerDisposeNotifyCallback)(ArkUI_GestureRecognizer* recognizer, void* userData)
295```
296
297**描述:**
298
299
300定义手势识别器析构通知事件的回调函数类型。
301
302**起始版本:** 12
303
304
305**参数:**
306
307| 参数项 | 描述 |
308| -- | -- |
309| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
310| void* userData | 用户自定义数据。 |
311
312### OH_ArkUI_GestureInterruptInfo_GetSystemFlag()
313
314```
315bool OH_ArkUI_GestureInterruptInfo_GetSystemFlag(const ArkUI_GestureInterruptInfo* event)
316```
317
318**描述:**
319
320
321判断是否组件内置手势。
322
323**起始版本:** 12
324
325
326**参数:**
327
328| 参数项 | 描述 |
329| -- | -- |
330| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 手势打断回调事件。 |
331
332**返回:**
333
334| 类型 | 说明 |
335| -- | -- |
336| bool | true: 系统内置手势;<br>         false: 非系统内置手势。 |
337
338### OH_ArkUI_GestureInterruptInfo_GetRecognizer()
339
340```
341ArkUI_GestureRecognizer* OH_ArkUI_GestureInterruptInfo_GetRecognizer(const ArkUI_GestureInterruptInfo* event)
342```
343
344**描述:**
345
346
347返回被打断的手势指针。
348
349**起始版本:** 12
350
351
352**参数:**
353
354| 参数项 | 描述 |
355| -- | -- |
356| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 手势打断回调事件。 |
357
358**返回:**
359
360| 类型                           | 说明 |
361|------------------------------| -- |
362| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* | 被打断的手势指针。 |
363
364### OH_ArkUI_GestureInterruptInfo_GetGestureEvent()
365
366```
367ArkUI_GestureEvent* OH_ArkUI_GestureInterruptInfo_GetGestureEvent(const ArkUI_GestureInterruptInfo* event)
368```
369
370**描述:**
371
372
373返回打断的手势事件数据。
374
375**起始版本:** 12
376
377
378**参数:**
379
380| 参数项 | 描述 |
381| -- | -- |
382| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 手势打断回调事件。 |
383
384**返回:**
385
386| 类型                      | 说明 |
387|-------------------------| -- |
388| [ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* | 打断的手势事件数据。 |
389
390### OH_ArkUI_GestureInterruptInfo_GetSystemRecognizerType()
391
392```
393int32_t OH_ArkUI_GestureInterruptInfo_GetSystemRecognizerType(const ArkUI_GestureInterruptInfo* event)
394```
395
396**描述:**
397
398
399当要触发的是系统内部手势时,使用该方法可返回该系统内部手势的类型。
400
401**起始版本:** 12
402
403
404**参数:**
405
406| 参数项 | 描述 |
407| -- | -- |
408| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 手势打断回调事件。 |
409
410**返回:**
411
412| 类型 | 说明 |
413| -- | -- |
414| int32_t | 要触发的内部手势对应的手势类型,如果当前触发的手势不是系统内部手势,则返回 -1。 |
415
416### OH_ArkUI_GestureInterruptInfo_GetTouchRecognizers()
417
418```
419int32_t OH_ArkUI_GestureInterruptInfo_GetTouchRecognizers(const ArkUI_GestureInterruptInfo* info,ArkUI_TouchRecognizerHandleArray* recognizers, int32_t* size)
420```
421
422**描述:**
423
424
425从手势打断信息中获取触摸识别器。
426
427**起始版本:** 15
428
429
430**参数:**
431
432| 参数项                                                                                             | 描述 |
433|-------------------------------------------------------------------------------------------------| -- |
434| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* info | 指向手势打断信息的指针。 |
435| [ArkUI_TouchRecognizerHandleArray](capi-arkui-nativemodule-arkui-touchrecognizerhandlearray.md)* recognizers  | 指向触摸识别器数组的指针。 |
436| int32_t* size                                                                                   | 触摸识别器数组的大小。 |
437
438**返回:**
439
440| 类型 | 说明 |
441| -- | -- |
442| int32_t | 返回 [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 表示成功。<br>         返回 [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 表示参数错误。 |
443
444### OH_ArkUI_TouchRecognizer_GetNodeHandle()
445
446```
447ArkUI_NodeHandle OH_ArkUI_TouchRecognizer_GetNodeHandle(const ArkUI_TouchRecognizerHandle recognizer)
448```
449
450**描述:**
451
452
453获取触摸识别器对应的组件句柄。
454
455**起始版本:** 15
456
457
458**参数:**
459
460| 参数项                                              | 描述 |
461|--------------------------------------------------| -- |
462| const [ArkUI_TouchRecognizerHandle](capi-arkui-nativemodule-arkui-touchrecognizerhandlearray.md) recognizer | 触摸识别器的句柄。 |
463
464**返回:**
465
466| 类型 | 说明 |
467| -- | -- |
468| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) | 触摸识别器对应的组件句柄。 |
469
470### OH_ArkUI_TouchRecognizer_CancelTouch()
471
472```
473int32_t OH_ArkUI_TouchRecognizer_CancelTouch(ArkUI_TouchRecognizerHandle recognizer, ArkUI_GestureInterruptInfo* info)
474```
475
476**描述:**
477
478
479在手势打断回调中向指定的触摸识别器发送取消触摸的事件
480
481**起始版本:** 15
482
483
484**参数:**
485
486| 参数项 | 描述 |
487| -- | -- |
488| [ArkUI_TouchRecognizerHandle](capi-arkui-nativemodule-arkui-touchrecognizerhandlearray.md) recognizer | 触摸识别器的句柄。 |
489| [ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* info | 指向手势打断信息的指针。 |
490
491**返回:**
492
493| 类型 | 说明 |
494| -- | -- |
495| int32_t | Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
496
497### OH_ArkUI_GestureEvent_GetActionType()
498
499```
500ArkUI_GestureEventActionType OH_ArkUI_GestureEvent_GetActionType(const ArkUI_GestureEvent* event)
501```
502
503**描述:**
504
505
506返回手势事件类型。
507
508**起始版本:** 12
509
510
511**参数:**
512
513| 参数项 | 描述 |
514| -- | -- |
515| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
516
517**返回:**
518
519| 类型 | 说明 |
520| -- | -- |
521| [ArkUI_GestureEventActionType](capi-native-gesture-h.md#arkui_gestureeventactiontype) | 手势事件类型。 |
522
523### OH_ArkUI_GestureEvent_GetRawInputEvent()
524
525```
526const ArkUI_UIInputEvent* OH_ArkUI_GestureEvent_GetRawInputEvent(const ArkUI_GestureEvent* event)
527```
528
529**描述:**
530
531
532返回手势输入。
533
534**起始版本:** 12
535
536
537**参数:**
538
539| 参数项 | 描述 |
540| -- | -- |
541| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
542
543**返回:**
544
545| 类型                            | 说明 |
546|-------------------------------| -- |
547| const [ArkUI_UIInputEvent](capi-arkui-eventmodule-arkui-uiinputevent.md)* | 手势事件的原始输入事件。 |
548
549### OH_ArkUI_LongPress_GetRepeatCount()
550
551```
552int32_t OH_ArkUI_LongPress_GetRepeatCount(const ArkUI_GestureEvent* event)
553```
554
555**描述:**
556
557
558返回是否为重复触发事件。
559
560**起始版本:** 12
561
562
563**参数:**
564
565| 参数项 | 描述 |
566| -- | -- |
567| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
568
569**返回:**
570
571| 类型 | 说明 |
572| -- | -- |
573| int32_t | 是否为重复触发事件。1表示为重复触发事件,0表示为非重复触发事件。 |
574
575### OH_ArkUI_PanGesture_GetVelocity()
576
577```
578float OH_ArkUI_PanGesture_GetVelocity(const ArkUI_GestureEvent* event)
579```
580
581**描述:**
582
583
584滑动手势返回手势主方向速度。
585
586**起始版本:** 12
587
588
589**参数:**
590
591| 参数项 | 描述 |
592| -- | -- |
593| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
594
595**返回:**
596
597| 类型 | 说明 |
598| -- | -- |
599| float | 当前手势主方向速度,为xy轴方向速度的平方和的算数平方根,单位px/秒。 |
600
601### OH_ArkUI_PanGesture_GetVelocityX()
602
603```
604float OH_ArkUI_PanGesture_GetVelocityX(const ArkUI_GestureEvent* event)
605```
606
607**描述:**
608
609
610滑动手势返回当前手势的x轴方向速度。
611
612**起始版本:** 12
613
614
615**参数:**
616
617| 参数项 | 描述 |
618| -- | -- |
619| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
620
621**返回:**
622
623| 类型 | 说明 |
624| -- | -- |
625| float | 当前手势的x轴方向速度,单位px/秒。 |
626
627### OH_ArkUI_PanGesture_GetVelocityY()
628
629```
630float OH_ArkUI_PanGesture_GetVelocityY(const ArkUI_GestureEvent* event)
631```
632
633**描述:**
634
635
636滑动手势返回当前手势的y轴方向速度。
637
638**起始版本:** 12
639
640
641**参数:**
642
643| 参数项 | 描述 |
644| -- | -- |
645| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
646
647**返回:**
648
649| 类型 | 说明 |
650| -- | -- |
651| float | 当前手势的y轴方向速度,单位px/秒。 |
652
653### OH_ArkUI_PanGesture_GetOffsetX()
654
655```
656float OH_ArkUI_PanGesture_GetOffsetX(const ArkUI_GestureEvent* event)
657```
658
659**描述:**
660
661
662滑动手势返回当前手势事件x轴相对偏移量。
663
664**起始版本:** 12
665
666
667**参数:**
668
669| 参数项 | 描述 |
670| -- | -- |
671| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
672
673**返回:**
674
675| 类型 | 说明 |
676| -- | -- |
677| float | 当前手势事件x轴相对偏移量,单位为px。 |
678
679### OH_ArkUI_PanGesture_GetOffsetY()
680
681```
682float OH_ArkUI_PanGesture_GetOffsetY(const ArkUI_GestureEvent* event)
683```
684
685**描述:**
686
687
688滑动手势返回当前手势事件y轴相对偏移量。
689
690**起始版本:** 12
691
692
693**参数:**
694
695| 参数项 | 描述 |
696| -- | -- |
697| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
698
699**返回:**
700
701| 类型 | 说明 |
702| -- | -- |
703| float | 当前手势事件y轴相对偏移量,单位为px。 |
704
705### OH_ArkUI_SwipeGesture_GetAngle()
706
707```
708float OH_ArkUI_SwipeGesture_GetAngle(const ArkUI_GestureEvent* event)
709```
710
711**描述:**
712
713
714滑动手势返回当前手势事件角度信息。角度计算方式:滑动手势被识别到后,连接两根手指之间的线被识别为起始线条,随着手指的滑动,手指之间的线条会发生旋转,<br>        根据起始线条两端点和当前线条两端点的坐标,使用反正切函数分别计算其相对于水平方向的夹角,<br>        最后arctan2(cy2-cy1,cx2-cx1)-arctan2(y2-y1,x2-x1)为旋转的角度。<br>        以起始线条为坐标系,顺时针旋转为0到180度,逆时针旋转为-180到0度。<br>
715
716**起始版本:** 12
717
718
719**参数:**
720
721| 参数项 | 描述 |
722| -- | -- |
723| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
724
725**返回:**
726
727| 类型 | 说明 |
728| -- | -- |
729| float | 滑动手势的角度,即两根手指间的线段与水平方向的夹角变化的度数。单位为deg。|
730
731### OH_ArkUI_SwipeGesture_GetVelocity()
732
733```
734float OH_ArkUI_SwipeGesture_GetVelocity(const ArkUI_GestureEvent* event)
735```
736
737**描述:**
738
739
740滑动手势场景中所有手指滑动平均速度。
741
742**起始版本:** 12
743
744
745**参数:**
746
747| 参数项 | 描述 |
748| -- | -- |
749| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
750
751**返回:**
752
753| 类型 | 说明 |
754| -- | -- |
755| float | 滑动手势速度,即所有手指滑动的平均速度,单位为px/秒。 |
756
757### OH_ArkUI_RotationGesture_GetAngle()
758
759```
760float OH_ArkUI_RotationGesture_GetAngle(const ArkUI_GestureEvent* event)
761```
762
763**描述:**
764
765
766旋转手势返回当前手势事件角度信息。
767
768**起始版本:** 12
769
770
771**参数:**
772
773| 参数项 | 描述 |
774| -- | -- |
775| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
776
777**返回:**
778
779| 类型 | 说明 |
780| -- | -- |
781| float | 旋转角度。单位为deg。|
782
783### OH_ArkUI_PinchGesture_GetScale()
784
785```
786float OH_ArkUI_PinchGesture_GetScale(const ArkUI_GestureEvent* event)
787```
788
789**描述:**
790
791
792捏合手势返回当前手势事件缩放信息。
793
794**起始版本:** 12
795
796
797**参数:**
798
799| 参数项 | 描述 |
800| -- | -- |
801| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
802
803**返回:**
804
805| 类型 | 说明 |
806| -- | -- |
807| float | 缩放比例。 |
808
809### OH_ArkUI_PinchGesture_GetCenterX()
810
811```
812float OH_ArkUI_PinchGesture_GetCenterX(const ArkUI_GestureEvent* event)
813```
814
815**描述:**
816
817
818捏合手势中心点相对于当前组件元素左上角x轴坐标。
819
820**起始版本:** 12
821
822
823**参数:**
824
825| 参数项 | 描述 |
826| -- | -- |
827| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
828
829**返回:**
830
831| 类型 | 说明 |
832| -- | -- |
833| float | 捏合手势中心点相对于当前组件元素左上角x轴坐标,单位为px。 |
834
835### OH_ArkUI_PinchGesture_GetCenterY()
836
837```
838float OH_ArkUI_PinchGesture_GetCenterY(const ArkUI_GestureEvent* event)
839```
840
841**描述:**
842
843
844捏合手势中心点相对于当前组件元素左上角y轴坐标。
845
846**起始版本:** 12
847
848
849**参数:**
850
851| 参数项 | 描述 |
852| -- | -- |
853| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
854
855**返回:**
856
857| 类型 | 说明 |
858| -- | -- |
859| float | 捏合手势中心点相对于当前组件元素左上角y轴坐标,单位为px。 |
860
861### OH_ArkUI_GestureEvent_GetNode()
862
863```
864ArkUI_NodeHandle OH_ArkUI_GestureEvent_GetNode(const ArkUI_GestureEvent* event)
865```
866
867**描述:**
868
869
870获取绑定该手势的ARKUI组件
871
872**起始版本:** 12
873
874
875**参数:**
876
877| 参数项 | 描述 |
878| -- | -- |
879| [const ArkUI_GestureEvent](capi-arkui-nativemodule-arkui-gestureevent.md)* event | 手势事件。 |
880
881**返回:**
882
883| 类型 | 说明 |
884| -- | -- |
885| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) | 绑定该手势的ARKUI组件。若返回Null,则表示event是无效值。 |
886
887### OH_ArkUI_GetResponseRecognizersFromInterruptInfo()
888
889```
890int32_t OH_ArkUI_GetResponseRecognizersFromInterruptInfo(const ArkUI_GestureInterruptInfo* event,ArkUI_GestureRecognizerHandleArray* responseChain, int32_t* count)
891```
892
893**描述:**
894
895
896获取手势响应链的信息。
897
898**起始版本:** 12
899
900
901**参数:**
902
903| 参数项 | 描述 |
904| -- | -- |
905| [const ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 手势打断回调事件。 |
906| ArkUI_GestureRecognizerHandleArray* responseChain | 响应链组件上的手势识别器。 |
907| int32_t* count | 响应链组件上的手势识别器的数量。 |
908
909**返回:**
910
911| 类型 | 说明 |
912| -- | -- |
913| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
914
915### OH_ArkUI_SetGestureRecognizerEnabled()
916
917```
918int32_t OH_ArkUI_SetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer, bool enabled)
919```
920
921**描述:**
922
923
924设置手势识别器的使能状态。
925
926**起始版本:** 12
927
928
929**参数:**
930
931| 参数项 | 描述 |
932| -- | -- |
933| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
934| bool enabled | 使能状态。true表示使能,false表示无法使能。 |
935
936**返回:**
937
938| 类型 | 说明 |
939| -- | -- |
940| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
941
942### OH_ArkUI_SetGestureRecognizerLimitFingerCount()
943
944```
945int32_t OH_ArkUI_SetGestureRecognizerLimitFingerCount(ArkUI_GestureRecognizer* recognizer, bool limitFingerCount)
946```
947
948**描述:**
949
950
951设置是否严格检查触摸手指数量的标志。实际触摸手指数量不等于设置的手指数量的时候,该手势识别不成功。
952
953**起始版本:** 15
954
955
956**参数:**
957
958| 参数项 | 描述 |
959| -- | -- |
960| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
961| bool limitFingerCount | 表示严格检查触摸手指数量的状态。true表示检查手指数量,false表示不检查手指数量。 |
962
963**返回:**
964
965| 类型 | 说明 |
966| -- | -- |
967| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
968
969### OH_ArkUI_GetGestureRecognizerEnabled()
970
971```
972bool OH_ArkUI_GetGestureRecognizerEnabled(ArkUI_GestureRecognizer* recognizer)
973```
974
975**描述:**
976
977
978获取手势识别器的使能状态。
979
980**起始版本:** 12
981
982
983**参数:**
984
985| 参数项 | 描述 |
986| -- | -- |
987| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
988
989**返回:**
990
991| 类型 | 说明 |
992| -- | -- |
993| bool | true - 使能。<br>         false - 禁用。 |
994
995### OH_ArkUI_GetGestureRecognizerState()
996
997```
998int32_t OH_ArkUI_GetGestureRecognizerState(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureRecognizerState* state)
999```
1000
1001**描述:**
1002
1003
1004获取手势识别器的状态。
1005
1006**起始版本:** 12
1007
1008
1009**参数:**
1010
1011| 参数项 | 描述 |
1012| -- | -- |
1013| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1014| [ArkUI_GestureRecognizerState](capi-native-gesture-h.md#arkui_gesturerecognizerstate)* state | 手势识别器的状态。 |
1015
1016**返回:**
1017
1018| 类型 | 说明 |
1019| -- | -- |
1020| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
1021
1022### OH_ArkUI_GetGestureEventTargetInfo()
1023
1024```
1025int32_t OH_ArkUI_GetGestureEventTargetInfo(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureEventTargetInfo** info)
1026```
1027
1028**描述:**
1029
1030
1031获取手势事件目标信息。
1032
1033**起始版本:** 12
1034
1035
1036**参数:**
1037
1038| 参数项 | 描述 |
1039| -- | -- |
1040| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1041| [ArkUI_GestureEventTargetInfo](capi-arkui-nativemodule-arkui-gestureeventtargetinfo.md)** info | 手势事件目标信息。 |
1042
1043**返回:**
1044
1045| 类型 | 说明 |
1046| -- | -- |
1047| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
1048
1049### OH_ArkUI_GestureEventTargetInfo_IsScrollBegin()
1050
1051```
1052int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollBegin(ArkUI_GestureEventTargetInfo* info, bool* ret)
1053```
1054
1055**描述:**
1056
1057
1058当前滚动类容器组件是否在顶部。
1059
1060**起始版本:** 12
1061
1062
1063**参数:**
1064
1065| 参数项 | 描述 |
1066| -- | -- |
1067| [ArkUI_GestureEventTargetInfo](capi-arkui-nativemodule-arkui-gestureeventtargetinfo.md)* info | 手势事件目标信息。 |
1068| bool* ret | 当前滚动类容器组件是否在顶部。true表示在顶部,false表示不在顶部。|
1069
1070**返回:**
1071
1072| 类型 | 说明 |
1073| -- | -- |
1074| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。<br>         [ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER](capi-native-type-h.md#arkui_errorcode) - 非滚动类容器。 |
1075
1076### OH_ArkUI_GestureEventTargetInfo_IsScrollEnd()
1077
1078```
1079int32_t OH_ArkUI_GestureEventTargetInfo_IsScrollEnd(ArkUI_GestureEventTargetInfo* info, bool* ret)
1080```
1081
1082**描述:**
1083
1084
1085当前滚动类容器组件是否在底部。
1086
1087**起始版本:** 12
1088
1089
1090**参数:**
1091
1092| 参数项 | 描述 |
1093| -- | -- |
1094| [ArkUI_GestureEventTargetInfo](capi-arkui-nativemodule-arkui-gestureeventtargetinfo.md)* info | 手势事件目标信息。 |
1095| bool* ret | 当前滚动类容器组件是否在底部。true表示在底部,false表示不在底部。 |
1096
1097**返回:**
1098
1099| 类型 | 说明 |
1100| -- | -- |
1101| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。<br>         [ARKUI_ERROR_CODE_NON_SCROLLABLE_CONTAINER](capi-native-type-h.md#arkui_errorcode) - 非滚动类容器。 |
1102
1103### OH_ArkUI_GetPanGestureDirectionMask()
1104
1105```
1106int32_t OH_ArkUI_GetPanGestureDirectionMask(ArkUI_GestureRecognizer* recognizer,ArkUI_GestureDirectionMask* directionMask)
1107```
1108
1109**描述:**
1110
1111
1112获取滑动手势的滑动方向。
1113
1114**起始版本:** 12
1115
1116
1117**参数:**
1118
1119| 参数项                                                                                       | 描述 |
1120|-------------------------------------------------------------------------------------------| -- |
1121| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1122| [ArkUI_GestureDirectionMask](#变量)* directionMask                                          | 滑动手势的滑动方向。 |
1123
1124**返回:**
1125
1126| 类型 | 说明 |
1127| -- | -- |
1128| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
1129
1130### OH_ArkUI_IsBuiltInGesture()
1131
1132```
1133bool OH_ArkUI_IsBuiltInGesture(ArkUI_GestureRecognizer* recognizer)
1134```
1135
1136**描述:**
1137
1138
1139当前手势是否为系统内置手势。
1140
1141**起始版本:** 12
1142
1143
1144**参数:**
1145
1146| 参数项 | 描述 |
1147| -- | -- |
1148| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1149
1150**返回:**
1151
1152| 类型 | 说明 |
1153| -- | -- |
1154| bool | true - 是系统内置手势。<br>         false - 不是系统内置手势。 |
1155
1156### OH_ArkUI_GetGestureTag()
1157
1158```
1159int32_t OH_ArkUI_GetGestureTag(ArkUI_GestureRecognizer* recognizer, char* buffer, int32_t bufferSize, int32_t* result)
1160```
1161
1162**描述:**
1163
1164
1165获取手势识别器的标记。
1166
1167**起始版本:** 12
1168
1169
1170**参数:**
1171
1172| 参数项 | 描述 |
1173| -- | -- |
1174| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1175| char* buffer | 存储区。 |
1176| int32_t bufferSize | 存储区大小。 |
1177| int32_t* result | 拷贝的字符串长度。 |
1178
1179**返回:**
1180
1181| 类型 | 说明 |
1182| -- | -- |
1183| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。<br>         [ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH](capi-native-type-h.md#arkui_errorcode) - 存储区大小不足。 |
1184
1185### OH_ArkUI_GetGestureBindNodeId()
1186
1187```
1188int32_t OH_ArkUI_GetGestureBindNodeId(ArkUI_GestureRecognizer* recognizer, char* nodeId, int32_t size,int32_t* result)
1189```
1190
1191**描述:**
1192
1193
1194获取手势识别器绑定的组件的ID。
1195
1196**起始版本:** 12
1197
1198
1199**参数:**
1200
1201| 参数项 | 描述 |
1202| -- | -- |
1203| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1204| char* nodeId | 组件的ID。 |
1205| int32_t size | 存储区大小。 |
1206| int32_t* result | 拷贝的字符串长度。 |
1207
1208**返回:**
1209
1210| 类型 | 说明 |
1211| -- | -- |
1212| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。<br>         [ARKUI_ERROR_CODE_BUFFER_SIZE_NOT_ENOUGH](capi-native-type-h.md#arkui_errorcode) - 存储区大小不足。 |
1213
1214### OH_ArkUI_IsGestureRecognizerValid()
1215
1216```
1217bool OH_ArkUI_IsGestureRecognizerValid(ArkUI_GestureRecognizer* recognizer)
1218```
1219
1220**描述:**
1221
1222
1223当前手势识别器是否有效。
1224
1225**起始版本:** 12
1226
1227
1228**参数:**
1229
1230| 参数项 | 描述 |
1231| -- | -- |
1232| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1233
1234**返回:**
1235
1236| 类型 | 说明 |
1237| -- | -- |
1238| bool | true - 手势识别器有效。<br>         false - 手势识别器无效。 |
1239
1240### OH_ArkUI_ParallelInnerGestureEvent_GetUserData()
1241
1242```
1243void* OH_ArkUI_ParallelInnerGestureEvent_GetUserData(ArkUI_ParallelInnerGestureEvent* event)
1244```
1245
1246**描述:**
1247
1248
1249获取并行内部手势事件中的用户自定义数据。
1250
1251**起始版本:** 12
1252
1253
1254**参数:**
1255
1256| 参数项 | 描述 |
1257| -- | -- |
1258| [ArkUI_ParallelInnerGestureEvent](capi-arkui-nativemodule-arkui-parallelinnergestureevent.md)* event | 并行内部手势事件。 |
1259
1260**返回:**
1261
1262| 类型 | 说明 |
1263| -- | -- |
1264| void* | 用户自定义数据的指针。 |
1265
1266### OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer()
1267
1268```
1269ArkUI_GestureRecognizer* OH_ArkUI_ParallelInnerGestureEvent_GetCurrentRecognizer(ArkUI_ParallelInnerGestureEvent* event)
1270```
1271
1272**描述:**
1273
1274
1275获取并行内部手势事件中的当前手势识别器。
1276
1277**起始版本:** 12
1278
1279
1280**参数:**
1281
1282| 参数项 | 描述 |
1283| -- | -- |
1284| [ArkUI_ParallelInnerGestureEvent](capi-arkui-nativemodule-arkui-parallelinnergestureevent.md)* event | 并行内部手势事件。 |
1285
1286**返回:**
1287
1288| 类型                           | 说明 |
1289|------------------------------| -- |
1290| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* | 当前手势识别器的指针。 |
1291
1292### OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers()
1293
1294```
1295int32_t OH_ArkUI_ParallelInnerGestureEvent_GetConflictRecognizers(ArkUI_ParallelInnerGestureEvent* event,ArkUI_GestureRecognizerHandleArray* array, int32_t* size)
1296```
1297
1298**描述:**
1299
1300
1301获取并行内部手势事件中的冲突的手势识别器。
1302
1303**起始版本:** 12
1304
1305
1306**参数:**
1307
1308| 参数项                                                                                                  | 描述 |
1309|------------------------------------------------------------------------------------------------------| -- |
1310| [ArkUI_ParallelInnerGestureEvent](capi-arkui-nativemodule-arkui-parallelinnergestureevent.md)* event | 并行内部手势事件。 |
1311| [ArkUI_GestureRecognizerHandleArray](capi-arkui-nativemodule-arkui-gesturerecognizerhandle.md)* array  | 冲突的手势识别器数组。 |
1312| int32_t* size                                                                                        | 冲突的手势识别器数组的大小。 |
1313
1314**返回:**
1315
1316| 类型 | 说明 |
1317| -- | -- |
1318| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
1319
1320### OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify()
1321
1322```
1323int32_t OH_ArkUI_SetArkUIGestureRecognizerDisposeNotify(ArkUI_GestureRecognizer* recognizer,ArkUI_GestureRecognizerDisposeNotifyCallback callback, void* userData)
1324```
1325
1326**描述:**
1327
1328
1329设置手势识别器对象析构通知回调函数。
1330
1331**起始版本:** 12
1332
1333**参数:**
1334
1335| 参数项 | 描述 |
1336| -- | -- |
1337| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1338| [ArkUI_GestureRecognizerDisposeNotifyCallback](capi-native-gesture-h.md#arkui_gesturerecognizerdisposenotifycallback) callback | 手势识别器对象析构通知回调函数。 |
1339| void* userData | 用户自定义数据。 |
1340
1341**返回:**
1342
1343| 类型 | 说明 |
1344| -- | -- |
1345| int32_t | [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) - 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) - 参数错误。 |
1346
1347### OH_ArkUI_GetGestureParam_DirectMask()
1348
1349```
1350int32_t OH_ArkUI_GetGestureParam_DirectMask(ArkUI_GestureRecognizer* recognizer, ArkUI_GestureDirectionMask* directMask)
1351```
1352
1353**描述:**
1354
1355
1356获取手势识别器的滑动方向。
1357
1358**起始版本:** 18
1359
1360
1361**参数:**
1362
1363| 参数项                                                                                       | 描述 |
1364|-------------------------------------------------------------------------------------------| -- |
1365| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1366| [ArkUI_GestureDirectionMask](#变量)* directMask                                             | 手势识别器的滑动方向。 |
1367
1368**返回:**
1369
1370| 类型 | 说明 |
1371| -- | -- |
1372| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
1373
1374### OH_ArkUI_GetGestureParam_FingerCount()
1375
1376```
1377int32_t OH_ArkUI_GetGestureParam_FingerCount(ArkUI_GestureRecognizer* recognizer, int* finger)
1378```
1379
1380**描述:**
1381
1382
1383获取手势识别器的手指数。
1384
1385**起始版本:** 18
1386
1387
1388**参数:**
1389
1390| 参数项 | 描述 |
1391| -- | -- |
1392| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1393| int* finger | 手势识别器的手指数。 |
1394
1395**返回:**
1396
1397| 类型 | 说明 |
1398| -- | -- |
1399| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
1400
1401### OH_ArkUI_GetGestureParam_limitFingerCount()
1402
1403```
1404int32_t OH_ArkUI_GetGestureParam_limitFingerCount(ArkUI_GestureRecognizer* recognizer, bool* isLimited)
1405```
1406
1407**描述:**
1408
1409
1410获取手势识别器是否有手指数限制。
1411
1412**起始版本:** 18
1413
1414
1415**参数:**
1416
1417| 参数项 | 描述 |
1418| -- | -- |
1419| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1420| bool* isLimited | 手势识别器是否有手指数限制。 |
1421
1422**返回:**
1423
1424| 类型 | 说明 |
1425| -- | -- |
1426| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
1427
1428### OH_ArkUI_GetGestureParam_repeat()
1429
1430```
1431int32_t OH_ArkUI_GetGestureParam_repeat(ArkUI_GestureRecognizer* recognizer, bool* isRepeat)
1432```
1433
1434**描述:**
1435
1436
1437获取手势识别器是否连续触发事件回调。
1438
1439**起始版本:** 18
1440
1441
1442**参数:**
1443
1444| 参数项 | 描述 |
1445| -- | -- |
1446| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1447| bool* isRepeat | 手势识别器是否连续触发事件回调。true表示连续触发,false表示不连续触发。|
1448
1449**返回:**
1450
1451| 类型 | 说明 |
1452| -- | -- |
1453| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1454
1455### OH_ArkUI_GetGestureParam_distance()
1456
1457```
1458int32_t OH_ArkUI_GetGestureParam_distance(ArkUI_GestureRecognizer* recognizer, double* distance)
1459```
1460
1461**描述:**
1462
1463
1464获取手势识别器的手指允许的移动距离范围。
1465
1466**起始版本:** 18
1467
1468
1469**参数:**
1470
1471| 参数项 | 描述 |
1472| -- | -- |
1473| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1474| double* distance | 手势识别器的手指允许的移动距离范围。单位为px。|
1475
1476**返回:**
1477
1478| 类型 | 说明 |
1479| -- | -- |
1480| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1481
1482### OH_ArkUI_GetGestureParam_speed()
1483
1484```
1485int32_t OH_ArkUI_GetGestureParam_speed(ArkUI_GestureRecognizer* recognizer, double* speed)
1486```
1487
1488**描述:**
1489
1490
1491获取手势识别器的识别滑动的最小速度。
1492
1493**起始版本:** 18
1494
1495
1496**参数:**
1497
1498| 参数项 | 描述 |
1499| -- | -- |
1500| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1501| double* speed | 手势识别器的识别滑动的最小速度。单位为px/s。|
1502
1503**返回:**
1504
1505| 类型 | 说明 |
1506| -- | -- |
1507| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1508
1509### OH_ArkUI_GetGestureParam_duration()
1510
1511```
1512int32_t OH_ArkUI_GetGestureParam_duration(ArkUI_GestureRecognizer* recognizer, int* duration)
1513```
1514
1515**描述:**
1516
1517
1518获取手势识别器的触发长按的最短时间。
1519
1520**起始版本:** 18
1521
1522
1523**参数:**
1524
1525| 参数项 | 描述 |
1526| -- | -- |
1527| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1528| int* duration | 手势识别器的触发长按的最短时间。单位为ms。|
1529
1530**返回:**
1531
1532| 类型 | 说明 |
1533| -- | -- |
1534| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1535
1536### OH_ArkUI_GetGestureParam_angle()
1537
1538```
1539int32_t OH_ArkUI_GetGestureParam_angle(ArkUI_GestureRecognizer* recognizer, double* angle)
1540```
1541
1542**描述:**
1543
1544
1545获取手势识别器的旋转手势的最小改变度数。
1546
1547**起始版本:** 18
1548
1549
1550**参数:**
1551
1552| 参数项 | 描述 |
1553| -- | -- |
1554| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1555| double* angle | 手势识别器的旋转手势的最小改变度数。单位为deg。|
1556
1557**返回:**
1558
1559| 类型 | 说明 |
1560| -- | -- |
1561| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1562
1563### OH_ArkUI_GetGestureParam_distanceThreshold()
1564
1565```
1566int32_t OH_ArkUI_GetGestureParam_distanceThreshold(ArkUI_GestureRecognizer* recognizer, double* distanceThreshold)
1567```
1568
1569**描述:**
1570
1571
1572获取手势识别器的手势移动阈值。
1573
1574**起始版本:** 18
1575
1576
1577**参数:**
1578
1579| 参数项 | 描述 |
1580| -- | -- |
1581| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1582| double* distanceThreshold | 手势识别器的手势移动阈值。单位:px。 |
1583
1584**返回:**
1585
1586| 类型 | 说明 |
1587| -- | -- |
1588| int32_t | 错误码。<br>         [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1589
1590### OH_ArkUI_PanGesture_SetDistanceMap()
1591
1592```
1593ArkUI_ErrorCode OH_ArkUI_PanGesture_SetDistanceMap(ArkUI_GestureRecognizer* recognizer, int size, int* toolTypeArray, double* distanceArray)
1594```
1595
1596**描述:**
1597
1598
1599设置手势最小滑动阈值表。当设备类型为非法值时,设置不生效。
1600
1601**起始版本:** 19
1602
1603
1604**参数:**
1605
1606| 参数项 | 描述 |
1607| -- | -- |
1608| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1609| int size | 手势最小滑动阈值数组的大小。 |
1610| int* toolTypeArray | 指向输入事件的工具类型数组的指针。 |
1611| double* distanceArray | 指向最小滑动阈值数组的指针。单位为px。 |
1612
1613**返回:**
1614
1615| 类型 | 说明 |
1616| -- | -- |
1617| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br>         Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。<br>         Returns [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1618
1619### OH_ArkUI_PanGesture_GetDistanceByToolType()
1620
1621```
1622ArkUI_ErrorCode OH_ArkUI_PanGesture_GetDistanceByToolType(ArkUI_GestureRecognizer* recognizer, int toolType, double* distance)
1623```
1624
1625**描述:**
1626
1627
1628获取手势识别器的手势移动阈值表。仅支持对通过OH_ArkUI_PanGesture_SetDistanceMap修改过的设备类型的阈值查询。默认滑动阈值可通过查询UI_INPUT_EVENT_TOOL_TYPE_UNKNOWN类型获得,其他未设置过的类型不会返回。
1629
1630**起始版本:** 19
1631
1632
1633**参数:**
1634
1635| 参数项 | 描述 |
1636| -- | -- |
1637| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1638| int toolType | 输入事件的工具类型。 |
1639| double* distance | 手势识别器的手势移动阈值。单位为px。 |
1640
1641**返回:**
1642
1643| 类型 | 说明 |
1644| -- | -- |
1645| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br>         Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。<br>         Returns [ARKUI_ERROR_CODE_RECOGNIZER_TYPE_NOT_SUPPORTED](capi-native-type-h.md#arkui_errorcode) 不支持手势识别器类型。 |
1646
1647### OH_ArkUI_SetTouchTestDoneCallback()
1648
1649```
1650ArkUI_ErrorCode OH_ArkUI_SetTouchTestDoneCallback(ArkUI_NodeHandle node,void* userData,void (*touchTestDone)(ArkUI_GestureEvent* event,ArkUI_GestureRecognizerHandleArray recognizers,int32_t count,void* userData)
1651)
1652```
1653
1654**描述:**
1655
1656
1657注册一个在所有手势识别器收集完成后执行的回调函数。当用户开始触摸屏幕时,系统会进行命中测试并根据触摸位置收集手势识别器。随后,在处理任何移动事件之前,组件可以使用此接口确定将参与识别并相互竞争的手势识别器。
1658
1659**起始版本:** 20
1660
1661
1662**参数:**
1663
1664| 参数项                       | 描述 |
1665|---------------------------| -- |
1666| [ArkUI_NodeHandle](capi-arkui-nativemodule-arkui-node8h.md) node | 需要设置手势收集完成回调的节点句柄。 |
1667| void* userData            | 用户自定义数据。 |
1668| touchTestDone             | 手势收集完成的回调函数。- event:手势的基本信息。- recognizers:手势识别器数组。- count:手势识别器个数。 |
1669
1670**返回:**
1671
1672| 类型                                                       | 说明 |
1673|----------------------------------------------------------| -- |
1674| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br>         Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
1675
1676### OH_ArkUI_GestureInterrupter_GetUserData()
1677
1678```
1679void* OH_ArkUI_GestureInterrupter_GetUserData(ArkUI_GestureInterruptInfo* event)
1680```
1681
1682**描述:**
1683
1684
1685获取手势中断事件中的用户自定义数据。
1686
1687**起始版本:** 18
1688
1689
1690**参数:**
1691
1692| 参数项 | 描述 |
1693| -- | -- |
1694| [ArkUI_GestureInterruptInfo](capi-arkui-nativemodule-arkui-gestureinterruptinfo.md)* event | 是指向手势中断信息的指针。 |
1695
1696**返回:**
1697
1698| 类型 | 说明 |
1699| -- | -- |
1700| void* | 返回指向用户自定义数据的指针。 |
1701
1702### OH_ArkUI_PreventGestureRecognizerBegin()
1703
1704```
1705ArkUI_ErrorCode OH_ArkUI_PreventGestureRecognizerBegin(ArkUI_GestureRecognizer* recognizer)
1706```
1707
1708**描述:**
1709
1710
1711在手指全部抬起前阻止手势识别器参与当前手势识别。如果系统已确定该手势识别器的结果(无论成功与否),调用此接口将无效。
1712
1713**起始版本:** 20
1714
1715
1716**参数:**
1717
1718| 参数项 | 描述 |
1719| -- | -- |
1720| [ArkUI_GestureRecognizer](capi-arkui-nativemodule-arkui-gesturerecognizer.md)* recognizer | 手势识别器指针。 |
1721
1722**返回:**
1723
1724| 类型 | 说明 |
1725| -- | -- |
1726| [ArkUI_ErrorCode](capi-native-type-h.md#arkui_errorcode) | 错误码。<br>         Returns [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br>         Returns [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 参数错误。 |
1727
1728
1729