# drag_and_drop.h ## 概述 æä¾›NativeDrag相关接å£å®šä¹‰ã€‚ **库:** libace_ndk.z.so **引用文件:** <arkui/drag_and_drop.h> **系统能力:** SystemCapability.ArkUI.ArkUI.Full **起始版本:** 12 **相关模å—:**[ArkUI_NativeModule](_ark_u_i___native_module.md) ## 汇总 ### 类型定义 | å称 | æè¿° | | -------- | -------- | | typedef struct [ArkUI_NodeEvent](_ark_u_i___native_module.md#arkui_nodeevent-12) [ArkUI_NodeEvent](_ark_u_i___native_module.md#arkui_nodeevent-12) | 组件事件的通用结构类型。 | | typedef struct [ArkUI_Context](_ark_u_i___native_module.md#arkui_context) [ArkUI_Context](_ark_u_i___native_module.md#arkui_context) | native UI的上下文实例对象。 | | typedef struct [ArkUI_Context](_ark_u_i___native_module.md#arkui_context) \* [ArkUI_ContextHandle](_ark_u_i___native_module.md#arkui_contexthandle-12) | native UI的上下文实例对象指针定义。 | | typedef struct [ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) [ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) | 拖拽事件。 | | typedef struct [ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) [ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) | 设置拖拽跟手图的相关自定义å‚数。 | | typedef struct [ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) [ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) | 拖拽行为,用于主动å‘起拖拽。 | | typedef struct [ArkUI_DragAndDropInfo](_ark_u_i___native_module.md#arkui_draganddropinfo) [ArkUI_DragAndDropInfo](_ark_u_i___native_module.md#arkui_draganddropinfo) | 主动å‘起拖拽åŽï¼Œé€šè¿‡æ‹–拽状æ€ç›‘å¬è¿”回的系统拖拽相关数æ®ã€‚ | | typedef struct [OH_UdmfData](_ark_u_i___native_module.md#oh_udmfdata) [OH_UdmfData](_ark_u_i___native_module.md#oh_udmfdata) | UDMF 统一数æ®å®šä¹‰ã€‚ | | typedef struct [OH_PixelmapNative](_ark_u_i___native_module.md#oh_pixelmapnative) [OH_PixelmapNative](_ark_u_i___native_module.md#oh_pixelmapnative) | Pixelmap结构体类型,用于执行Pixelmap相关æ“作。 | ### 枚举 | å称 | æè¿° | | -------- | -------- | | [ArkUI_DragResult](_ark_u_i___native_module.md#arkui_dragresult) { [ARKUI_DRAG_RESULT_SUCCESSFUL](_ark_u_i___native_module.md), [ARKUI_DRAG_RESULT_FAILED](_ark_u_i___native_module.md), [ARKUI_DRAG_RESULT_CANCELED](_ark_u_i___native_module.md) } | 拖拽结果定义,由数æ®æŽ¥æ”¶æ–¹è®¾ç½®ï¼Œå¹¶ç”±ç³»ç»Ÿä¼ 递给数æ®æ‹–出方,拖出方å¯æ„ŸçŸ¥æŽ¥æ”¶æ–¹å¯¹æ•°æ®çš„处ç†ç»“果。 | | [ArkUI_DropProposal](_ark_u_i___native_module.md#arkui_dropproposal) { [ARKUI_DROP_PROPOSAL_COPY](_ark_u_i___native_module.md), [ARKUI_DROP_PROPOSAL_MOVE](_ark_u_i___native_module.md) } | 定义拖拽释放时的数æ®å¤„ç†æ–¹å¼ï¼Œå¯å½±å“è§’æ ‡çš„æ˜¾ç¤ºã€‚ | | [ArkUI_PreDragStatus](_ark_u_i___native_module.md#arkui_predragstatus) {<br/>[ARKUI_PRE_DRAG_STATUS_UNKNOWN](_ark_u_i___native_module.md) = -1, [ARKUI_PRE_DRAG_STATUS_ACTION_DETECTING](_ark_u_i___native_module.md), [ARKUI_PRE_DRAG_STATUS_READY_TO_TRIGGER_DRAG](_ark_u_i___native_module.md), [ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_STARTED](_ark_u_i___native_module.md),<br/>[ARKUI_PRE_DRAG_STATUS_PREVIEW_LIFT_FINISHED](_ark_u_i___native_module.md), [ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_STARTED](_ark_u_i___native_module.md), [ARKUI_PRE_DRAG_STATUS_PREVIEW_LANDING_FINISHED](_ark_u_i___native_module.md), [ARKUI_PRE_DRAG_STATUS_CANCELED_BEFORE_DRAG](_ark_u_i___native_module.md)<br/>} | 定义拖拽å‘èµ·å‰çš„长按交互阶段的å˜åŒ–状æ€ã€‚ | | [ArkUI_DragPreviewScaleMode](_ark_u_i___native_module.md#arkui_dragpreviewscalemode) { [ARKUI_DRAG_PREVIEW_SCALE_AUTO](_ark_u_i___native_module.md), [ARKUI_DRAG_PREVIEW_SCALE_DISABLED](_ark_u_i___native_module.md) } | 拖拽预览缩放模å¼ã€‚ | | [ArkUI_DragStatus](_ark_u_i___native_module.md#arkui_dragstatus) { [ArkUI_DRAG_STATUS_UNKNOWN](_ark_u_i___native_module.md), [ArkUI_DRAG_STATUS_STARTED](_ark_u_i___native_module.md), [ArkUI_DRAG_STATUS_ENDED](_ark_u_i___native_module.md) } | 拖拽状æ€ã€‚ | ### 函数 | å称 | æè¿° | | -------- | -------- | | [ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \* [OH_ArkUI_NodeEvent_GetDragEvent](_ark_u_i___native_module.md#oh_arkui_nodeevent_getdragevent) ([ArkUI_NodeEvent](_ark_u_i___native_module.md#arkui_nodeevent-12) \*nodeEvent) | 从 NodeEvent ä¸èŽ·å–DragEvent。 | | [ArkUI_PreDragStatus](_ark_u_i___native_module.md#arkui_predragstatus) [OH_ArkUI_NodeEvent_GetPreDragStatus](_ark_u_i___native_module.md#oh_arkui_nodeevent_getpredragstatus) ([ArkUI_NodeEvent](_ark_u_i___native_module.md#arkui_nodeevent-12) \*nodeEvent) | 获å–预览拖拽事件状æ€ã€‚ | | int32_t [OH_ArkUI_DragEvent_DisableDefaultDropAnimation](_ark_u_i___native_module.md#oh_arkui_dragevent_disabledefaultdropanimation) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, bool disable) | 设置是å¦ç¦ç”¨æ¾æ‰‹æ—¶çš„系统默认动效,默认ä¸ç¦ç”¨ï¼Œé€šå¸¸åœ¨åº”用需è¦è‡ªå®šä¹‰è½ä½åŠ¨æ•ˆæ—¶é…置。 | | int32_t [OH_ArkUI_DragEvent_SetSuggestedDropOperation](_ark_u_i___native_module.md#oh_arkui_dragevent_setsuggesteddropoperation) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, [ArkUI_DropProposal](_ark_u_i___native_module.md#arkui_dropproposal) proposal) | 设置数æ®å¤„ç†æ–¹å¼ | | int32_t [OH_ArkUI_DragEvent_SetDragResult](_ark_u_i___native_module.md#oh_arkui_dragevent_setdragresult) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, [ArkUI_DragResult](_ark_u_i___native_module.md#arkui_dragresult) result) | 设置拖拽事件的结果。 | | int32_t [OH_ArkUI_DragEvent_SetData](_ark_u_i___native_module.md#oh_arkui_dragevent_setdata) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, [OH_UdmfData](_ark_u_i___native_module.md#oh_udmfdata) \*data) | å‘ArkUI_DragEventä¸è®¾ç½®æ‹–拽数æ®ã€‚ | | int32_t [OH_ArkUI_DragEvent_GetUdmfData](_ark_u_i___native_module.md#oh_arkui_dragevent_getudmfdata) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, [OH_UdmfData](_ark_u_i___native_module.md#oh_udmfdata) \*data) | 从ArkUI_DragEventä¸èŽ·å–拖拽默认相关数æ®ã€‚ | | int32_t [OH_ArkUI_DragEvent_GetDataTypesCount](_ark_u_i___native_module.md#oh_arkui_dragevent_getdatatypescount) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, int32_t \*count) | 从ArkUI_DragEventä¸èŽ·å–所拖拽的数æ®ç±»åž‹ç§ç±»ä¸ªæ•°ã€‚ | | int32_t [OH_ArkUI_DragEvent_GetDataTypes](_ark_u_i___native_module.md#oh_arkui_dragevent_getdatatypes) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, char \*\*result[], int32_t length) | 从ArkUI_DragEventä¸èŽ·å–拖拽数æ®çš„类型列表。 | | int32_t [OH_ArkUI_DragEvent_GetDragResult](_ark_u_i___native_module.md#oh_arkui_dragevent_getdragresult) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, [ArkUI_DragResult](_ark_u_i___native_module.md#arkui_dragresult) \*result) | 从ArkUI_DragEventä¸èŽ·å–拖拽结果。 | | float [OH_ArkUI_DragEvent_GetPreviewTouchPointX](_ark_u_i___native_module.md#oh_arkui_dragevent_getpreviewtouchpointx) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–预览图跟手点的xè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetPreviewTouchPointY](_ark_u_i___native_module.md#oh_arkui_dragevent_getpreviewtouchpointy) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–预览图跟手点的yè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetPreviewRectWidth](_ark_u_i___native_module.md#oh_arkui_dragevent_getpreviewrectwidth) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–预览图的宽。 | | float [OH_ArkUI_DragEvent_GetPreviewRectHeight](_ark_u_i___native_module.md#oh_arkui_dragevent_getpreviewrectheight) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–预览图的高。 | | float [OH_ArkUI_DragEvent_GetTouchPointXToWindow](_ark_u_i___native_module.md#oh_arkui_dragevent_gettouchpointxtowindow) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–跟手点相对于windowçš„xè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetTouchPointYToWindow](_ark_u_i___native_module.md#oh_arkui_dragevent_gettouchpointytowindow) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–跟手点相对于windowçš„yè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetTouchPointXToDisplay](_ark_u_i___native_module.md#oh_arkui_dragevent_gettouchpointxtodisplay) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–跟手点相对于当å‰Displayçš„xè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetTouchPointYToDisplay](_ark_u_i___native_module.md#oh_arkui_dragevent_gettouchpointytodisplay) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 从ArkUI_DragEventä¸èŽ·å–跟手点相对于当å‰Displayçš„yè½´åæ ‡ã€‚ | | float [OH_ArkUI_DragEvent_GetVelocityX](_ark_u_i___native_module.md#oh_arkui_dragevent_getvelocityx) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 获å–当å‰æ‹–拽的xè½´æ–¹å‘拖动速度。 | | float [OH_ArkUI_DragEvent_GetVelocityY](_ark_u_i___native_module.md#oh_arkui_dragevent_getvelocityy) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 获å–当å‰æ‹–拽的yè½´æ–¹å‘拖动速度。 | | float [OH_ArkUI_DragEvent_GetVelocity](_ark_u_i___native_module.md#oh_arkui_dragevent_getvelocity) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event) | 获å–当å‰æ‹–拽的主方å‘拖动速度。 | | int32_t [OH_ArkUI_DragEvent_GetModifierKeyStates](_ark_u_i___native_module.md#oh_arkui_dragevent_getmodifierkeystates) ([ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \*event, int64_t \*keys) | 获å–功能键按压状æ€ã€‚ | | int32_t [OH_ArkUI_SetDragEventStrictReportWithNode](_ark_u_i___native_module.md#oh_arkui_setdrageventstrictreportwithnode) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node, bool enabled) | 控制是å¦ä½¿èƒ½ä¸¥æ ¼dragEvent上报,建议开å¯ï¼›é»˜è®¤æ˜¯ä¸å¼€å¯çš„ï¼› 当ä¸å¼€å¯æ—¶ï¼Œä»Žçˆ¶ç»„件拖移进å组件时,父组件并ä¸ä¼šæ”¶åˆ°leave的通知;而开å¯ä¹‹åŽï¼Œåªè¦å‰åŽä¸¤ä¸ªç»„件å‘生å˜åŒ–,上一个组件就会收到 leave,新的组件收到enter通知;该é…置与具体的UI实例相关,需è¦é€šè¿‡ä¼ 入一个当å‰UI实例上的一个具体的组件节点æ¥å…³è”。 | | int32_t [OH_ArkUI_SetDragEventStrictReportWithContext](_ark_u_i___native_module.md#oh_arkui_setdrageventstrictreportwithcontext) ([ArkUI_ContextHandle](_ark_u_i___native_module.md#arkui_contexthandle-12) uiContext, bool enabled) | 控制是å¦ä½¿èƒ½ä¸¥æ ¼dragEvent上报,建议开å¯ï¼›é»˜è®¤æ˜¯ä¸å¼€å¯çš„; 当ä¸å¼€å¯æ—¶ï¼Œä»Žçˆ¶ç»„件拖移进å组件时,父组件并ä¸ä¼šæ”¶åˆ°leave的通知;而开å¯ä¹‹åŽï¼Œåªè¦å‰åŽä¸¤ä¸ªç»„件å‘生å˜åŒ–,上一个组件就会收到 leave,新的组件收到enter通知;该é…置与具体的UI实例相关,å¯é€šè¿‡ä¼ 入一个UI实例进行关è”。 | | int32_t [OH_ArkUI_SetNodeAllowedDropDataTypes](_ark_u_i___native_module.md#oh_arkui_setnodealloweddropdatatypes) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node, const char \*typesArray[], int32_t count) | é…置组件å…许接å—è½å…¥çš„æ•°æ®ç±»åž‹ï¼Œè¯¥æŽ¥å£ä¼šé‡ç½®é€šè¿‡ [OH_ArkUI_DisallowNodeAnyDropDataTypes](_ark_u_i___native_module.md#oh_arkui_disallownodeanydropdatatypes) 或 [OH_ArkUI_AllowNodeAllDropDataTypes](_ark_u_i___native_module.md#oh_arkui_allownodealldropdatatypes)进行的é…置。 | | int32_t [OH_ArkUI_DisallowNodeAnyDropDataTypes](_ark_u_i___native_module.md#oh_arkui_disallownodeanydropdatatypes) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node) | é…置组件ä¸å…许接å—任何数æ®ç±»åž‹ï¼Œè¯¥æŽ¥å£ä¼šé‡ç½®é€šè¿‡[OH_ArkUI_SetNodeAllowedDropDataTypes](_ark_u_i___native_module.md#oh_arkui_setnodealloweddropdatatypes)é…置的数æ®ç±»åž‹ã€‚ | | int32_t [OH_ArkUI_AllowNodeAllDropDataTypes](_ark_u_i___native_module.md#oh_arkui_allownodealldropdatatypes) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node) | é…置组件å…许接å—ä»»æ„æ•°æ®ç±»åž‹ï¼Œè¯¥æŽ¥å£ä¼šé‡ç½®é€šè¿‡[OH_ArkUI_SetNodeAllowedDropDataTypes](_ark_u_i___native_module.md#oh_arkui_setnodealloweddropdatatypes)é…置的数æ®ç±»åž‹ã€‚ | | int32_t [OH_ArkUI_SetNodeDraggable](_ark_u_i___native_module.md#oh_arkui_setnodedraggable) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node, bool enabled) | 设置该组件是å¦å…许进行拖拽。 | | int32_t [OH_ArkUI_SetNodeDragPreview](_ark_u_i___native_module.md#oh_arkui_setnodedragpreview) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node, [OH_PixelmapNative](_ark_u_i___native_module.md#oh_pixelmapnative) \*preview) | 设置组件在被拖拽时的自定义跟手图。 | | [ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \* [OH_ArkUI_CreateDragPreviewOption](_ark_u_i___native_module.md#oh_arkui_createdragpreviewoption) (void) | 构建一个ArkUI_DragPreviewOption对象。 | | void [OH_ArkUI_DragPreviewOption_Dispose](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_dispose) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option) | 销æ¯è·Ÿæ‰‹å›¾è‡ªå®šä¹‰å‚数对象实例。 | | int32_t [OH_ArkUI_DragPreviewOption_SetScaleMode](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setscalemode) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, [ArkUI_DragPreviewScaleMode](_ark_u_i___native_module.md#arkui_dragpreviewscalemode) scaleMode) | 设置拖拽跟手图是å¦æ ¹æ®ç³»ç»Ÿå®šä¹‰è‡ªåŠ¨è¿›è¡Œç¼©æ”¾ã€‚ | | int32_t [OH_ArkUI_DragPreviewOption_SetDefaultShadowEnabled](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setdefaultshadowenabled) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, bool enabled) | 设置跟手图背æ¿é»˜è®¤çš„投影效果,默认使能。 | | int32_t [OH_ArkUI_DragPreviewOption_SetDefaultRadiusEnabled](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setdefaultradiusenabled) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, bool enabled) | 设置跟手图背æ¿é»˜è®¤çš„圆角效果,默认使能。 | | int32_t [OH_ArkUI_DragPreviewOption_SetNumberBadgeEnabled](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setnumberbadgeenabled) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, bool enabled) | 设置跟手图背æ¿æ˜¯å¦æ˜¾ç¤ºè§’æ ‡,默认使能,å¼€å¯åŽ,ç³»ç»Ÿä¼šæ ¹æ®æ‹–拽数é‡è‡ªåŠ¨è¿›è¡Œè§’æ ‡æ˜¾ç¤ºã€‚ | | int32_t [OH_ArkUI_DragPreviewOption_SetBadgeNumber](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setbadgenumber) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, uint32_t forcedNumber) | å¼ºåˆ¶æ˜¾ç¤ºè§’æ ‡çš„æ•°é‡,覆盖SetDragPreviewNumberBadgeEnabled设置的值。 | | int32_t [OH_ArkUI_DragPreviewOption_SetDefaultAnimationBeforeLiftingEnabled](_ark_u_i___native_module.md#oh_arkui_dragpreviewoption_setdefaultanimationbeforeliftingenabled) ([ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option, bool enabled) | é…置是å¦å¼€å¯ç‚¹æŒ‰æ—¶çš„默认动画。 | | int32_t [OH_ArkUI_SetNodeDragPreviewOption](_ark_u_i___native_module.md#oh_arkui_setnodedragpreviewoption) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node, [ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option) | å°†æž„é€ çš„ArkUI_DragPreviewOption设置给组件。 | | [ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \* [OH_ArkUI_CreateDragActionWithNode](_ark_u_i___native_module.md#oh_arkui_createdragactionwithnode) ([ArkUI_NodeHandle](_ark_u_i___native_module.md#arkui_nodehandle) node) | 创建一个拖拽æ“作对象,该对象需与一个UI实例相关è”,å¯é€šè¿‡ä¼ 入一个当å‰UI实例的æŸä¸ªç»„件节点æ¥æŒ‡å®šã€‚ | | [ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \* [OH_ArkUI_CreateDragActionWithContext](_ark_u_i___native_module.md#oh_arkui_createdragactionwithcontext) ([ArkUI_ContextHandle](_ark_u_i___native_module.md#arkui_contexthandle-12) uiContext) | 创建一个拖拽æ“作对象,该对象需与一个UI实例相关è”,å¯é€šè¿‡ä¼ 入一个UI实例指针æ¥å…³è”。 | | void [OH_ArkUI_DragAction_Dispose](_ark_u_i___native_module.md#oh_arkui_dragaction_dispose) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction) | 销æ¯åˆ›å»ºçš„ ArkUI_DragAction 对象。 | | int32_t [OH_ArkUI_DragAction_SetPointerId](_ark_u_i___native_module.md#oh_arkui_dragaction_setpointerid) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, int32_t pointer) | 设置手指ID,当å±å¹•ä¸Šä»…有一åªæ‰‹æŒ‡åœ¨æ“作时,pointer ID 为 0;一般情况下,é…ç½® 0 å³å¯ã€‚ | | int32_t [OH_ArkUI_DragAction_SetPixelMaps](_ark_u_i___native_module.md#oh_arkui_dragaction_setpixelmaps) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, [OH_PixelmapNative](_ark_u_i___native_module.md#oh_pixelmapnative) \*pixelmapArray[], int32_t size) | 设置拖拽跟手图,åªèƒ½ä½¿ç”¨ pixelmap æ ¼å¼å¯¹è±¡ã€‚ | | int32_t [OH_ArkUI_DragAction_SetTouchPointX](_ark_u_i___native_module.md#oh_arkui_dragaction_settouchpointx) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, float x) | 设置跟手点,相对于设置的第一个pixelmap的左上角。 | | int32_t [OH_ArkUI_DragAction_SetTouchPointY](_ark_u_i___native_module.md#oh_arkui_dragaction_settouchpointy) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, float y) | 设置跟手点,相对于设置的第一个pixelmap的左上角。 | | int32_t [OH_ArkUI_DragAction_SetData](_ark_u_i___native_module.md#oh_arkui_dragaction_setdata) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, [OH_UdmfData](_ark_u_i___native_module.md#oh_udmfdata) \*data) | 设置拖拽数æ®ã€‚ | | int32_t [OH_ArkUI_DragAction_SetDragPreviewOption](_ark_u_i___native_module.md#oh_arkui_dragaction_setdragpreviewoption) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, [ArkUI_DragPreviewOption](_ark_u_i___native_module.md#arkui_dragpreviewoption) \*option) | å°†æž„é€ çš„ArkUI_DragPreviewOption设置给ArkUI_DragAction。 | | int32_t [OH_ArkUI_DragAction_RegisterStatusListener](_ark_u_i___native_module.md#oh_arkui_dragaction_registerstatuslistener) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction, void \*userData, void(\*listener)([ArkUI_DragAndDropInfo](_ark_u_i___native_module.md#arkui_draganddropinfo) \*dragAndDropInfo, void \*userData)) | 注册拖拽状æ€ç›‘å¬å›žè°ƒ,该回调å¯æ„ŸçŸ¥åˆ°æ‹–拽已ç»å‘起或用户æ¾æ‰‹ç»“æŸçš„状æ€, å¯é€šè¿‡è¯¥ç›‘å¬èŽ·å–到è½å…¥æ–¹å¯¹æ•°æ®çš„接收处ç†æ˜¯å¦æˆåŠŸã€‚ | | void [OH_ArkUI_DragAction_UnregisterStatusListener](_ark_u_i___native_module.md#oh_arkui_dragaction_unregisterstatuslistener) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction) | 解注册拖拽状æ€ç›‘å¬å›žè°ƒã€‚ | | [ArkUI_DragStatus](_ark_u_i___native_module.md#arkui_dragstatus) [OH_ArkUI_DragAndDropInfo_GetDragStatus](_ark_u_i___native_module.md#oh_arkui_draganddropinfo_getdragstatus) ([ArkUI_DragAndDropInfo](_ark_u_i___native_module.md#arkui_draganddropinfo) \*dragAndDropInfo) | 获å–dragactionå‘起拖拽的状æ€ï¼ŒèŽ·å–异常时返回 ArkUI_DRAG_STATUS_UNKNOWN。 | | [ArkUI_DragEvent](_ark_u_i___native_module.md#arkui_dragevent) \* [OH_ArkUI_DragAndDropInfo_GetDragEvent](_ark_u_i___native_module.md#oh_arkui_draganddropinfo_getdragevent) ([ArkUI_DragAndDropInfo](_ark_u_i___native_module.md#arkui_draganddropinfo) \*dragAndDropInfo) | 通过dragAndDropInfo获å–到DragEvent,å¯é€šè¿‡DragEvent获å–释放结果ç‰ã€‚ | | int32_t [OH_ArkUI_StartDrag](_ark_u_i___native_module.md#oh_arkui_startdrag) ([ArkUI_DragAction](_ark_u_i___native_module.md#arkui_dragaction) \*dragAction) | é€šè¿‡æž„é€ çš„DragAction对象å‘起拖拽。 |