openharmony 鸿蒙 capi-native-node-h

2026-08-25 浏览 (1)

native_node.h

概述

提供NativeNode接口的类型定义。

引用文件: <arkui/native_node.h>

库: libace_ndk.z.so

系统能力: SystemCapability.ArkUI.ArkUI.Full

起始版本: 12

相关模块: ArkUI_NativeModule

相关示例: native_node_sample

汇总

结构体

名称typedef关键字描述
ArkUI_AttributeItemArkUI_AttributeItem定义setAttribute函数通用入参结构。
ArkUI_NodeComponentEventArkUI_NodeComponentEvent定义组件回调事件的参数类型。
ArkUI_StringAsyncEventArkUI_StringAsyncEvent定义组件回调事件使用字符串参数的类型。
ArkUI_TextChangeEventArkUI_TextChangeEvent定义组件事件的混合类型数据。
ArkUI_NativeNodeAPI_1ArkUI_NativeNodeAPI_1ArkUI提供的Native侧Node类型接口集合。Node模块相关接口需要在主线程上调用。
OH_ArkUI_TextEditorChangeEventOH_ArkUI_TextEditorChangeEvent定义TextEditor组件文本内容变化事件的结构体。
ArkUI_NodeEventArkUI_NodeEvent定义组件事件的通用结构类型。
ArkUI_NodeCustomEventArkUI_NodeCustomEvent定义自定义组件事件的通用结构类型。
ArkUI_NodeAdapter*ArkUI_NodeAdapterHandle定义组件适配器对象,用于滚动类组件的元素懒加载。
ArkUI_NodeAdapterEventArkUI_NodeAdapterEvent定义适配器事件对象。
ArkUI_NodeContentEventArkUI_NodeContentEvent定义NodeContent事件的通用结构类型。

枚举

名称typedef关键字描述
ArkUI_NodeTypeArkUI_NodeType提供ArkUI在Native侧可创建组件类型。
ArkUI_NodeAttributeTypeArkUI_NodeAttributeType定义ArkUI在Native侧可以设置的属性样式集合。
ArkUI_NodeEventTypeArkUI_NodeEventType提供NativeNode组件支持的事件类型定义。
ArkUI_NodeDirtyFlagArkUI_NodeDirtyFlag自定义组件调用::markDirty时,传递重新执行测量、布局或者绘制的标识类型。
ArkUI_NodeCustomEventTypeArkUI_NodeCustomEventType定义自定义组件事件类型。
ArkUI_NodeAdapterEventTypeArkUI_NodeAdapterEventType定义节点适配器事件枚举值。
ArkUI_NodeContentEventTypeArkUI_NodeContentEventType定义NodeContent事件类型。
ArkUI_InspectorErrorCodeArkUI_InspectorErrorCodeinspector错误码的枚举。

函数

名称typedef关键字描述
ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event)-获取组件事件类型。
int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event)-获取事件自定义标识ID。该事件ID在调用registerNodeEvent函数时作为参数传递进来,可应用于同一事件入口函数registerNodeEventReceiver分发逻辑。
ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event)-获取触发该事件的组件对象。
ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event)-获取组件事件中的输入事件(如触碰事件)数据。
ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event)-获取组件事件中的数字类型数据。
ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event)-获取组件事件中的字符串数据。
ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event)-获取组件事件中的ArkUI_TextChangeEvent数据。
void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event)-获取组件事件中的用户自定义数据。该自定义参数在调用registerNodeEvent函数时作为参数传递进来,可应用于事件触发时的业务逻辑处理。
int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value)-获取组件回调事件的数字类型参数。
int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize)-获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。
int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size)-设置组件回调事件的返回值。
ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create()-创建组件适配器对象。
void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle)-销毁组件适配器对象。
int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size)-设置Adapter中的元素总数。
uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle)-获取Adapter中的元素总数。
int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver(ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event))-注册Adapter相关回调事件。
void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle)-注销Adapter相关回调事件。
int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle)-通知Adapter进行全量元素变化。
int32_t OH_ArkUI_NodeAdapter_ReloadItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)-通知Adapter进行局部元素变化。
int32_t OH_ArkUI_NodeAdapter_RemoveItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)-通知Adapter进行局部元素删除。
int32_t OH_ArkUI_NodeAdapter_InsertItem(ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)-通知Adapter进行局部元素插入。
int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to)-通知Adapter进行局部元素移位。
int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size)-获取存储在Adapter中的所有元素。接口调用会返回元素的数组对象指针,该指针指向的内存数据需要开发者手动释放。
void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event)-获取注册事件时传入的自定义数据。
ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event)-获取事件类型。
ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event)-获取需要销毁的事件中待销毁的元素。
uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event)-获取适配器事件时需要操作的元素序号。
ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event)-获取使用该适配器的滚动类容器节点。
int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node)-设置需要新增到Adapter中的组件。
int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id)-设置生成的组件标识。
ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取测算过程中的约束尺寸。
ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取在布局阶段期望自身相对父组件的位置。
ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取绘制上下文。请开发者在使用完成后及时释放获取的绘制上下文。
int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取自定义事件ID。
void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取自定义事件参数。
ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取组件对象。
ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event)-通过自定义组件事件获取事件类型。
int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info)-通过自定义组件事件获取自定义段落组件的测量信息。
int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics)-通过自定义组件事件设置自定义段落的度量指标。
int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info)-通过自定义组件事件获取自定义段落组件的绘制信息。
typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event)ArkUI_NodeContentCallback定义NodeContent事件的回调函数类型。
int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback)-注册NodeContent事件函数。
ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event)-获取触发NodeContent事件的事件类型。
ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event)-获取触发事件的NodeContent对象。
int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData)-在NodeContent对象上保存自定义数据。
void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content)-获取在NodeContent对象上保存的自定义数据。
int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node)-将一个ArkUI组件节点添加到对应的NodeContent对象下。
int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node)-删除NodeContent对象下的一个ArkUI组件节点。
int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position)-将一个ArkUI组件节点插入到对应的NodeContent对象的特定位置下。
int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size)-获取组件布局区域的大小。布局区域大小不包含图形变化属性,如缩放。
int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset)-获取组件布局区域相对父组件的位置。布局区域相对位置不包含图形变化属性,如平移。
int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset)-获取组件布局区域相对窗口的位置。布局区域相对位置不包含图形变化属性,如平移。
int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset)-获取组件布局区域相对屏幕的位置。布局区域相对位置不包含图形变化属性,如平移。
int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(ArkUI_NodeHandle node, ArkUI_IntOffset* offset)-获取组件相对于全局屏幕的偏移。布局区域相对位置不包含图形变化属性,如平移。
int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset)-获取组件在窗口中的位置,包含了图形平移变化属性。
int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset)-获取组件在屏幕中的位置,包含了图形平移变化属性。
void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value)-设置组件的自定义属性。该接口仅在主线程生效。
void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name)-移除组件已设置的自定义属性。
int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle)-获取组件的自定义属性的值。
ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node)-获取父节点,可获取由ArkTs创建的组件节点。
int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle)-获取某个节点所有活跃的子节点。Span将不会被计入子节点的统计中。
ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node)-获取当前页面的根节点。
bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node)-获取组件是否由C-API创建的标签。
int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node)-获取节点的类型。
int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info)-获取节点所属的窗口信息。
int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index)-将节点移动到目标父节点下,作为子节点。
int32_t OH_ArkUI_NativeModule_InvalidateAttributes(ArkUI_NodeHandle node)-在当前帧触发节点属性更新。
int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData))-收起展开状态下的ListItem
ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node)-获取当前节点所在页面的UI的上下文实例对象指针。
int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node,void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData))-注册系统深浅色变更事件。同一组件仅能注册一个系统深浅变更回调。示例请参考:添加事件监听
void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node)-注销系统深浅色变更事件。
int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node,void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData))-注册系统字体变更事件。同一组件仅能注册一个系统字体变更回调。
void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node)-注销系统字体变更事件。
float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event)-获取系统字体变更事件的字体大小值。
float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event)-获取系统字体变更事件的字体粗细值。
int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node,void* userData, void (*onLayoutCompleted)(void* userData))-注册指定节点的布局完成回调函数。
int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node,void* userData, void (*onDrawCompleted)(void* userData))-注册指定节点的绘制完成回调函数。
int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node)-取消注册指定节点的布局完成回调函数。
int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node)-取消注册指定节点的绘制完成回调函数。
int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions,OH_PixelmapNative** pixelmap)-获取给定组件的截图,若节点不在组件树上或尚未渲染,截图操作将会失败。当pixelmap不再使用时,应通过调用OH_PixelmapNative_Release来释放。
int32_t OH_ArkUI_GetNodeSnapshotSizeLimitation(int32_t* maxWidth, int32_t* maxHeight)-查询组件截图的尺寸限制。
int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node)-根据用户id获取目标节点。
int32_t OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(const uint32_t uniqueId, ArkUI_NodeHandle* node)-通过uniqueId获取节点。
int32_t OH_ArkUI_NodeUtils_GetNodeUniqueId(ArkUI_NodeHandle node, int32_t* uniqueId)-获取目标节点的uniqueId。
int32_t OH_ArkUI_NativeModule_AdoptChild(ArkUI_NodeHandle node, ArkUI_NodeHandle child)-当前节点接纳目标节点为附属节点。被接纳的节点不能已有父节点。调用该接口实际上不会将其添加为子节点,而是仅允许其接收对应子节点的生命周期回调。
int32_t OH_ArkUI_NativeModule_RemoveAdoptedChild(ArkUI_NodeHandle node, ArkUI_NodeHandle child)-移除被接纳的目标附属节点。
int32_t OH_ArkUI_NativeModule_IsInRenderState(ArkUI_NodeHandle node, bool* isInRenderState)-获取节点是否处于渲染状态,如果一个节点的对应RenderNode在渲染树上,则处于渲染状态。
int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option)-设置目标节点跨语言设置属性的能力。
int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option)-获取目标节点跨语言设置属性的配置项。
int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index)-获取目标节点在树上的第一个子节点的下标。
int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index)-获取目标节点在树上的最后一个子节点的下标。
int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position,ArkUI_NodeHandle* subnode, uint32_t expandMode)-用不同的展开模式获取对应下标的子节点。
int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset)-获取目标节点相对于父节点的偏移值,单位:px。
ArkUI_ErrorCode OH_ArkUI_AddSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates,void (statesChangeHandler)(int32_t currentStates, void* userData), bool excludeInner, void* userData)-设置组件支持的多态样式状态。为了更高效地处理,需传入所关注的状态值及对应的状态处理函数,当关注的状态发生时,处理函数会被执行。可在回调中根据当前状态调整UI样式。当在同一个节点上多次调用该方法时,将以最后一次传入的状态及处理函数为准。有些类型的组件节点,系统内部已有对某些状态的默认处理。例如,Button组件默认具备对PRESSED状态的样式变化,当在此类组件上使用此方法自定义状态处理时,会先应用系统默认样式变化,再执行自定义的样式处理,最终效果为两者叠加。可以通过指定excludeInner为true来禁用系统内部的默认样式效果,但这通常取决于系统内部实现规范是否允许。当调用该函数时,传入的statesChangeHandler函数会立即执行一次,且无需特意注册对NORMAL状态的监听,只要注册了非NORMAL状态,当状态从任意状态变化回NORMAL时,系统都会进行回调,以便应用进行样式复原。
ArkUI_ErrorCode OH_ArkUI_RemoveSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates)-删除注册的状态处理。当通过OH_ArkUI_AddSupportedUIStates注册的状态都被删除时,所注册的stateChangeHandler也不会再被执行。
int32_t OH_ArkUI_RunTaskInScope(ArkUI_ContextHandle uiContext, void* userData, void(*callback)(void* userData))-在目标UI上下文中执行传入的自定义回调函数。示例请参考:在NDK中保证多实例场景功能正常
int32_t OH_ArkUI_PostAsyncUITask(ArkUI_ContextHandle context, void* asyncUITaskData, void (*asyncUITask)(void* asyncUITaskData), void (*onFinish)(void* asyncUITaskData))-将asyncUITask函数提交至ArkUI框架提供的非UI线程中执行,asyncUITask函数执行完毕后,在UI线程调用onFinish函数。适用于多线程创建UI组件的场景,开发者可使用此接口在非UI线程创建UI组件,随后在UI线程将创建完成的组件挂载至主树上。
int32_t OH_ArkUI_PostUITask(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData))-将task函数提交至UI线程中执行。适用于多线程创建UI组件的场景,当开发者在自建的线程中创建UI组件时,可以使用此接口将创建完成的组件挂载到UI线程的主树上。
int32_t OH_ArkUI_PostUITaskAndWait(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData))-将task函数提交至UI线程中执行,调用此接口的线程将阻塞,直至task函数执行完成。在UI线程调用此接口等同于同步调用task函数。适用于多线程创建UI组件的场景,当开发者在多线程创建组件过程中需要调用仅支持UI线程的函数时,使用此接口返回UI线程调用函数,调用完成后继续多线程创建组件。当UI线程负载较高时,调用此接口的非UI线程可能长时间阻塞,影响多线程创建UI组件的性能,不建议频繁使用。
int32_t OH_ArkUI_NativeModule_RegisterCommonEvent(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, void* userData, void (callback)(ArkUI_NodeEvent event))-注册目标节点的基础事件回调。
int32_t OH_ArkUI_NativeModule_UnregisterCommonEvent(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType)-注销目标节点的基础事件回调。
int32_t OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(ArkUI_NodeHandle node, float* ratios, int32_t size, float expectedUpdateInterval, void* userData, void (callback)(ArkUI_NodeEvent event))-注册限制回调间隔的可见区域变化的基础事件回调。
int32_t OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(ArkUI_NodeHandle node)-注销限制回调间隔的可见区域变化的基础事件回调。
int32_t OH_ArkUI_Swiper_FinishAnimation(ArkUI_NodeHandle node)-停止指定的Swiper节点正在执行的翻页动画。
int32_t OH_ArkUI_SetForceDarkConfig(ArkUI_ContextHandle uiContext, bool forceDark, ArkUI_NodeType nodeType, uint32_t (*colorInvertFunc)(uint32_t color))-为组件和实例设置反色算法。
ArkUI_TouchTestInfo* OH_ArkUI_NodeEvent_GetTouchTestInfo(ArkUI_NodeEvent* nodeEvent)-获取组件事件中的触摸测试信息。
OH_ArkUI_TextEditorChangeEvent* OH_ArkUI_NodeEvent_GetTextEditorOnWillChangeEvent(ArkUI_NodeEvent* event)-获取组件事件中的TextEditor组件文本内容变化数据。
int32_t OH_ArkUI_NativeModule_ConvertPositionToWindow(ArkUI_NodeHandle currentNode, ArkUI_IntOffset localPosition, ArkUI_IntOffset* windowPosition)-将点的坐标从目标节点的坐标系转换至当前窗口的坐标系。
int32_t OH_ArkUI_NativeModule_ConvertPositionFromWindow(ArkUI_NodeHandle targetNode, ArkUI_IntOffset windowPosition, ArkUI_IntOffset* localPosition)-将点的坐标从当前窗口的坐标系转换至目标节点的坐标系。
int32_t OH_ArkUI_Swiper_StartFakeDrag(ArkUI_NodeHandle node, bool* isSuccessful)-启动Swiper节点的模拟拖拽操作。调用OH_ArkUI_Swiper_FakeDragBy模拟拖拽动作。调用OH_ArkUI_Swiper_StopFakeDrag停止模拟拖拽。
模拟拖拽操作可以被真实拖拽操作打断。如果需要在模拟拖拽期间忽略用户的拖拽事件,请使用NODE_SWIPER_DISABLE_SWIPE
int32_t OH_ArkUI_Swiper_FakeDragBy(ArkUI_NodeHandle node, float offset, bool* isConsumedOffset)-通过设置Swiper节点的偏移量模拟拖拽效果。该接口调用前,必须先调用OH_ArkUI_Swiper_StartFakeDrag启动模拟拖拽。
int32_t OH_ArkUI_Swiper_StopFakeDrag(ArkUI_NodeHandle node, bool* isSuccessful)-停止对Swiper节点的模拟拖拽。
int32_t OH_ArkUI_Swiper_IsFakeDragging(ArkUI_NodeHandle node, bool* isFakeDragging)-获取Swiper节点的模拟拖拽状态。
int32_t OH_ArkUI_Swiper_ShowPrevious(ArkUI_NodeHandle node)-显示Swiper节点的上一页。
int32_t OH_ArkUI_Swiper_ShowNext(ArkUI_NodeHandle node)-显示Swiper节点的下一页。
int32_t OH_ArkUI_NativeModule_GetPageRootNodeHandleByContext(ArkUI_ContextHandle context, ArkUI_NodeHandle* rootNode)-获得指定的UIContext对应窗口中的页面根节点。
int32_t OH_ArkUI_NativeModule_RegisterCommonAreaApproximateChangeEvent(ArkUI_NodeHandle node, float expectedUpdateInterval, void* userData, void (callback)(ArkUI_NodeEvent event))-注册组件尺寸与区域变化的监听事件。可在任意时机对有效的ArkUI_NodeHandle组件节点调用该函数。新注册的回调会替换该事件此前已注册的回调,并从下一帧开始生效。当回调不再需要时,请调用OH_ArkUI_NativeModule_UnregisterCommonAreaApproximateChangeEvent进行注销。否则,回调会在节点释放时自动注销。
int32_t OH_ArkUI_NativeModule_UnregisterCommonAreaApproximateChangeEvent(ArkUI_NodeHandle node)-解除组件上的尺寸与区域变化监听回调绑定。
ArkUI_GestureCollectInterceptInfo* OH_ArkUI_NodeEvent_GetGestureCollectInterceptInfo(ArkUI_NodeEvent* nodeEvent)-从指定的ArkUI_NodeEvent对象中获取ArkUI_GestureCollectInterceptInfo对象。
起始版本: 26.0.0

宏定义

名称描述
MAX_NODE_SCOPE_NUM 1000定义组件最大方法数量。
MAX_COMPONENT_EVENT_ARG_NUM 12定义组件事件最大参数数量。

枚举类型说明

ArkUI_NodeType

enum ArkUI_NodeType

描述:

提供ArkUI在Native侧可创建组件类型。

起始版本: 12

枚举项描述
ARKUI_NODE_CUSTOM = 0自定义节点。
ARKUI_NODE_TEXT = 1文本。
ARKUI_NODE_SPAN = 2文本段落。
ARKUI_NODE_IMAGE_SPAN = 3文本图片段落。
ARKUI_NODE_IMAGE = 4图片。
ARKUI_NODE_TOGGLE = 5状态开关。
ARKUI_NODE_LOADING_PROGRESS = 6等待图标。
ARKUI_NODE_TEXT_INPUT = 7单行文本输入。
ARKUI_NODE_TEXT_AREA = 8多行文本。
ARKUI_NODE_BUTTON = 9按钮。
ARKUI_NODE_PROGRESS = 10进度条。
ARKUI_NODE_CHECKBOX = 11复选框。
ARKUI_NODE_XCOMPONENT = 12SURFACE类型XComponent。
ARKUI_NODE_DATE_PICKER = 13日期选择器组件。
ARKUI_NODE_TIME_PICKER = 14时间选择组件。
ARKUI_NODE_TEXT_PICKER = 15滑动选择文本内容的组件。
ARKUI_NODE_CALENDAR_PICKER = 16日历选择器组件。
ARKUI_NODE_SLIDER = 17滑动条组件。
ARKUI_NODE_RADIO = 18单选框。
ARKUI_NODE_IMAGE_ANIMATOR = 19帧动画组件。
ARKUI_NODE_XCOMPONENT_TEXTURETEXTURE类型XComponent。
起始版本: 18
ARKUI_NODE_CHECKBOX_GROUP = 21复选框组。
起始版本: 15
ARKUI_NODE_TEXT_EDITOR = 22文本编辑器。
起始版本: 24
ARKUI_NODE_STACK = MAX_NODE_SCOPE_NUM堆叠容器。
ARKUI_NODE_SWIPER = 1001翻页容器。
ARKUI_NODE_SCROLL = 1002滚动容器。
ARKUI_NODE_LIST = 1003列表。
ARKUI_NODE_LIST_ITEM = 1004列表项。
ARKUI_NODE_LIST_ITEM_GROUP = 1005列表item分组。
ARKUI_NODE_COLUMN = 1006垂直布局容器。
ARKUI_NODE_ROW = 1007水平布局容器。
ARKUI_NODE_FLEX = 1008弹性布局容器。
ARKUI_NODE_REFRESH = 1009刷新组件。
ARKUI_NODE_WATER_FLOW = 1010瀑布流容器。
ARKUI_NODE_FLOW_ITEM = 1011瀑布流子组件。
ARKUI_NODE_RELATIVE_CONTAINER = 1012相对布局组件。
ARKUI_NODE_GRID = 1013网格容器。
ARKUI_NODE_GRID_ITEM = 1014网格子组件。
ARKUI_NODE_CUSTOM_SPAN = 1015自定义文本段落。
ARKUI_NODE_EMBEDDED_COMPONENT = 1016同应用进程嵌入式组件。
起始版本: 20
ARKUI_NODE_UNDEFINED = 1017组件类型未定义。在反色接口中代表全部组件类型。
起始版本: 20
ARKUI_NODE_PICKER = 1018Picker容器,用于实现用户选择操作的组件。
起始版本: 23

ArkUI_NodeAttributeType

enum ArkUI_NodeAttributeType

描述:

定义ArkUI在Native侧可以设置的属性样式集合。

起始版本: 12

枚举项描述
基础属性定义ArkUI在Native侧可以设置的基础属性集合,包含背景、背景图片样式和组件标识等属性设置。
通用属性定义ArkUI在Native侧可以设置的通用属性样式集合。
布局属性定义ArkUI在Native侧可以设置的布局相关属性集合,包含尺寸、百分比尺寸、内外边距、边框、位置、对齐、方向、约束、Flex参数、布局规则及布局类组件相关属性设置。
布局类组件相关属性定义ArkUI在Native侧可以设置的布局类组件相关属性集合。
动效、视效相关属性定义ArkUI在Native侧可以设置的动效、视效相关属性样式集合,包含图形变换、渐变、阴影、模糊和转场等属性设置。
交互类相关属性定义ArkUI在Native侧可以设置的交互类相关属性集合,包含触摸测试、响应热区、焦点控制、安全区域扩展、可见区域监听和走焦等属性设置。
表单类组件相关属性定义ArkUI在Native侧可以设置的表单类组件相关属性样式集合,包含Toggle、Button、CheckBox、CheckBoxGroup、Slider、Radio等组件属性设置。
滚动容器类组件相关属性定义ArkUI在Native侧可以设置的滚动容器类组件相关属性样式集合,包含Scroll、List、ListItem、ListItemGroup、Refresh、WaterFlow、Grid、GridItem等组件属性设置。
导航类组件相关属性定义ArkUI在Native侧可以设置的导航类组件相关属性样式集合,包含Swiper组件属性设置。
信息展示类组件相关属性定义ArkUI在Native侧可以设置信息展示类组件相关属性样式集合,包含LoadingProgress、Progress等组件属性设置。
信息选择类组件相关属性定义ArkUI在Native侧可以设置信息选择类组件相关属性样式集合,包含DatePicker、TimePicker、TextPicker、CalendarPicker等组件属性设置。
无障碍相关属性定义ArkUI在Native侧可以设置的无障碍相关属性集合,包含无障碍文本、说明、模式、状态、信息等属性设置。
文本显示类组件相关属性定义ArkUI在Native侧可以设置的文本类组件相关属性样式集合,包含Text、Span、ImageSpan等组件属性设置。
文本输入类组件相关属性定义ArkUI在Native侧可以设置的文本输入类组件相关属性样式集合,包含TextInput组件属性设置。
富文本类组件相关属性定义ArkUI在Native侧可以设置的富文本类组件相关属性样式集合,包含TextEditor组件属性设置。
图类组件相关属性定义ArkUI在Native侧可以设置的图类组件相关属性样式集合,包含Image和ImageAnimator组件属性设置。
X-Component组件相关属性定义ArkUI在Native侧可以设置的XComponent组件相关属性集合。
EmbeddedComponent组件相关属性定义ArkUI在Native侧可以设置的EmbeddedComponent组件相关属性样式集合。
其他定义ArkUI在Native侧可以设置的其他属性样式集合,包含组件交互、获焦、离屏渲染和点击距离等属性设置。

ArkUI_NodeEventType

enum ArkUI_NodeEventType

描述:

提供NativeNode组件支持的事件类型定义。

起始版本: 12

枚举项描述
NODE_TOUCH_EVENT = 0手势事件类型。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_UIInputEvent
NODE_EVENT_ON_APPEAR = 1挂载事件。触发该事件的条件:组件挂载显示时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_EVENT_ON_DISAPPEAR = 2卸载事件。触发该事件的条件 :组件卸载时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_EVENT_ON_AREA_CHANGE = 3组件区域变化事件触发该事件的条件:组件区域变化时触发该回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含12个参数:
ArkUI_NodeComponentEvent.data[0].f32:表示过去目标元素的宽度,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:表示过去目标元素的高度,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[2].f32:表示过去目标元素左上角相对父元素左上角的位置的x轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[3].f32:表示过去目标元素左上角相对父元素左上角的位置的y轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[4].f32:表示过去目标元素目标元素左上角相对页面左上角的位置的x轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[5].f32:表示过去目标元素目标元素左上角相对页面左上角的位置的y轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[6].f32:表示最新目标元素的宽度,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[7].f32:表示最新目标元素的高度,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[8].f32:表示最新目标元素左上角相对父元素左上角的位置的x轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[9].f32:表示最新目标元素左上角相对父元素左上角的位置的y轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[10].f32:表示最新目标元素目标元素左上角相对页面左上角的位置的x轴坐标,类型为number,单位vp。
ArkUI_NodeComponentEvent.data[11].f32:表示最新目标元素目标元素左上角相对页面左上角的位置的y轴坐标,类型为number,单位vp。
NODE_ON_FOCUS = 4获焦事件。触发该事件的条件:组件获焦时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_ON_BLUR = 5失去焦点事件。触发该事件的条件:组件失去焦点时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_ON_CLICK = 6组件点击事件。触发该事件的条件:组件被点击时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含8个参数:
ArkUI_NodeComponentEvent.data[0].f32:点击位置相对于被点击元素原始区域左上角的X坐标,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:点击位置相对于被点击元素原始区域左上角的Y坐标,单位vp。
ArkUI_NodeComponentEvent.data[2].f32:事件时间戳。触发事件时距离系统启动的时间间隔,单位微秒。
ArkUI_NodeComponentEvent.data[3].i32:事件输入设备,1表示鼠标,2表示触屏,4表示按键。
ArkUI_NodeComponentEvent.data[4].f32:点击位置相对于应用窗口左上角的X坐标,单位vp。
ArkUI_NodeComponentEvent.data[5].f32:点击位置相对于应用窗口左上角的Y坐标,单位vp。
ArkUI_NodeComponentEvent.data[6].f32:点击位置相对于应用屏幕左上角的X坐标,单位vp。
ArkUI_NodeComponentEvent.data[7].f32:点击位置相对于应用屏幕左上角的Y坐标,单位vp。
NODE_ON_TOUCH_INTERCEPT = 7组件自定义事件拦截。触发该事件的条件:组件被触摸时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_UIInputEvent
NODE_EVENT_ON_VISIBLE_AREA_CHANGE = 8组件可见区域变化事件。触发该事件的条件:组件可见面积与自身面积的比值接近设置的阈值时触发回调,注册事件前需先使用NODE_VISIBLE_AREA_CHANGE_RATIO配置阈值。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:组件可见面积与自身面积的比值与上次变化相比的情况,变大为1,变小为0。
ArkUI_NodeComponentEvent.data[1].f32:触发回调时组件可见面积与自身面积的比值。
NODE_ON_HOVER = 9鼠标进入或退出组件事件。触发该事件的条件:鼠标进入或退出组件时触发回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:鼠标是否悬浮在组件上,鼠标进入时为1,退出时为0。
NODE_ON_MOUSE = 10组件点击事件。触发该事件的条件:组件被鼠标按键点击或者鼠标在组件上悬浮移动时触发该回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_UIInputEvent
NODE_EVENT_ON_ATTACH = 11上树事件。触发该事件的条件:组件上树时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_EVENT_ON_DETACH = 12下树事件。触发该事件的条件:组件下树时触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_ON_ACCESSIBILITY_ACTIONS = 13无障碍支持操作事件触发。触发该事件的条件:已设置无障碍操作类型,并进行相应操作。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].u32: 触发回调的操作类型,参数类型ArkUI_AccessibilityActionType
NODE_ON_PRE_DRAG = 14在拖拽行为开始之前告诉侦听器详细的交互状态。触发该事件的条件:组件可拖拽,当长按浮起/松手/发起拖拽时,回调触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:对应ArkUI_PreDragStatus
NODE_ON_DRAG_START = 15用户已移动足够距离,即将发起拖拽。触发该事件的条件:长按拖动产生足够位移距离时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_DRAG_ENTER = 16用户拖拽进入当前组件范围。触发该事件的条件: 拖拽对象进入监听了该事件的组件边界时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_DRAG_MOVE = 17用户拖拽在当前组件范围内移动。触发该事件的条件: 拖拽对象在监听了该事件的组件范围内移动时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_DRAG_LEAVE = 18用户拖拽从当前组件范围离开。触发该事件的条件: 拖拽对象离开监听了该事件的组件边界时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_DROP = 19当用户在组件上方松手时,该组件上可通过该回调拿到拖拽数据进行处理。触发该事件的条件: 拖拽对象并在组件上方松手时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_DRAG_END = 20拖拽发起方可通过注册该回调感知拖拽结束后的结果。触发该事件的条件:用户松手,拖拽行为结束时触发。事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_DragEvent
NODE_ON_KEY_EVENT = 21绑定该方法的组件获焦后,按键动作触发该回调。触发该事件的条件:由外设键盘等设备与获焦窗口交互触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
起始版本: 14
NODE_ON_KEY_PRE_IME = 22绑定该方法的组件获焦后,按键动作在响应输入法前优先触发该回调。该回调的返回值为true时,视作该按键事件已被消费,后续的事件回调(keyboardShortcut、输入法事件、onKeyEvent)会被拦截,不再触发。触发该事件的条件:由外设键盘等设备与获焦窗口交互触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
起始版本: 14
NODE_ON_FOCUS_AXIS = 23绑定该方法的组件获焦后,收到焦点轴事件时触发该回调。触发该事件的条件:由游戏手柄与获焦组件交互触发此回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_UIInputEvent
起始版本: 15
NODE_DISPATCH_KEY_EVENT = 24组件按键事件重新派发事件。当组件节点接收到按键事件时,将触发此回调函数,而非将事件分发给其子节点。
当事件回调发生时,ArkUI_NodeEvent对象中的联合类型为ArkUI_NodeComponentEvent
起始版本: 15
NODE_ON_AXIS = 25绑定该方法的组件收到轴事件时触发该回调。当绑定组件接收到轴事件时,会触发该事件回调。
事件发生时,ArkUI_NodeEvent 对象中的联合类型为ArkUI_UIInputEvent
起始版本: 17
NODE_ON_HOVER_EVENT = 27定义鼠标指针移至组件上方或远离组件时触发的事件。当鼠标指针移到组件上方或远离组件时触发该事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合类型为ArkUI_UIInputEvent
起始版本: 17
NODE_ON_CLICK_EVENT = 26绑定该方法的组件被点击时触发此回调。当绑定组件被点击时,将触发此事件回调。
当发生事件回调,ArkUI_NodeEvent对象中的联合类型是ArkUI_UIInputEvent
起始版本: 18
NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_EVENT = 28设置限制回调间隔的NODE_EVENT_ON_VISIBLE_AREA_CHANGE事件的回调。触发该事件的条件:组件可见面积与自身面积的比值接近设置的阈值时触发回调,注册事件前需先使用NODE_VISIBLE_AREA_APPROXIMATE_CHANGE_RATIO 配置阈值和更新间隔。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:组件可见面积与自身面积的比值与上次变化相比的情况,变大为1,变小为0。
ArkUI_NodeComponentEvent.data[1].f32:触发回调时组件可见面积与自身面积的比值。
起始版本: 17
NODE_ON_HOVER_MOVE = 29定义悬浮事件。当手写笔设备指针悬停在组件内时会触发该事件。
事件回调发生时, 可从事件参数ArkUI_NodeEvent对象中获取ArkUI_UIInputEvent
起始版本: 15
NODE_ON_SIZE_CHANGE = 30定义尺寸变化事件。当组件尺寸发生变化时会触发该事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含4个参数:
ArkUI_NodeComponentEvent.data[0].f32: 尺寸组件变化前的宽度。
ArkUI_NodeComponentEvent.data[1].f32: 尺寸组件变化前的高度。
ArkUI_NodeComponentEvent.data[2].f32: 尺寸组件变化后的宽度。
ArkUI_NodeComponentEvent.data[3].f32: 尺寸组件变化后的高度。
起始版本: 21
NODE_ON_COASTING_AXIS_EVENT = 31定义惯性滚动轴事件。当用户在触控板上使用双指滑动一定距离并快速抬手时,系统会根据手指抬起时的速度,按照一定的衰减曲线持续构造事件。您可以监听此类事件来处理常规滚动轴事件之后的抛滑效果。
当事件回调发生时,可以通过OH_ArkUI_NodeEvent_GetInputEventArkUI_NodeEvent对象中获得ArkUI_UIInputEvent对象。并通过OH_ArkUI_UIInputEvent_GetCoastingAxisEventArkUI_UIInputEvent对象中获取ArkUI_CoastingAxisEvent对象,使用OH_ArkUI_CoastingAxisEvent_XXX系列接口可以从该对象中获取更多信息。
起始版本: 22
NODE_ON_CHILD_TOUCH_TEST = 32定义子组件的预触摸测试。调用此事件以指定如何对当前组件的子组件执行触摸测试。该事件在组件被触摸时触发。
当事件回调发生时,可以通过OH_ArkUI_NodeEvent_GetTouchTestInfoArkUI_NodeEvent对象中获得ArkUI_TouchTestInfo对象。并通过OH_ArkUI_TouchTestInfo_GetTouchTestInfoListArkUI_TouchTestInfo对象中获取触摸测试信息中的触摸测试信息项列表,使用OH_ArkUI_TouchTestInfoItem_GetXXX系列接口可以获取更多信息。使用OH_ArkUI_TouchTestInfo_SetTouchResultStrategy设置触摸测试策略。使用OH_ArkUI_TouchTestInfo_SetTouchResultId设置命中测试过程中需要作用的子组件。
起始版本: 22
NODE_ON_DIGITAL_CROWN = 33定义表冠事件。该事件在扭动表冠时触发。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_UIInputEvent
起始版本: 24
NODE_ON_CUSTOM_OVERFLOW_SCROLL = 34定义ARKUI_NODE_CUSTOM节点内容滚动事件。该事件在组件内容发生滚动时触发。
当事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:正在滚动的子组件id。
ArkUI_NodeComponentEvent.data[1].f32:节点滚动的偏移量,单位为px。
起始版本: 24
NODE_ON_STACK_OVERFLOW_SCROLL = 35定义ARKUI_NODE_STACK节点内容滚动事件。该事件在组件内容发生滚动时触发。
当事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:正在滚动的子组件id。
ArkUI_NodeComponentEvent.data[1].f32:节点滚动的偏移量,单位为px。
起始版本: 24
NODE_ON_NEED_SOFTKEYBOARD = 36用于设置事件回调。当组件获得焦点时,获焦组件触发该事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型值为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent不包含参数。
系统会根据回调函数返回值判断是否需要键盘。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue接口设置是否需要键盘。
返回值中index为0的value.i32表示是否需要键盘。
取值为0:不需要键盘;取值为1:需要键盘。
起始版本: 24
NODE_ON_GESTURE_COLLECT_INTERCEPT = 37当该节点及更高优先级节点上的事件和手势收集完成后,执行该回调。该回调用于干预事件和手势的收集结果。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_GestureCollectInterceptInfo对象。
起始版本: 26.0.0
NODE_TEXT_ON_DETECT_RESULT_UPDATE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT = 1000文本设置TextDataDetectorConfig且识别成功时,触发onDetectResultUpdate回调。触发该事件的条件:文本设置TextDataDetectorConfig且识别成功后。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:表示文本识别的结果,Json格式。
NODE_TEXT_SPAN_ON_LONG_PRESS = 1001Span组件长按事件。组件被长按时触发此回调。
事件回调发生时,可从事件参数ArkUI_NodeEvent对象中获取ArkUI_UIInputEvent
起始版本: 20
NODE_TEXT_ON_TEXT_SELECTION_CHANGE = 1002定义文本选择位置变化时触发的事件。当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent包含两个参数:
ArkUI_NodeComponentEvent.data[0].i32:文本选择区域的起始位置。
ArkUI_NodeComponentEvent.data[1].i32:文本选择区域的结束位置。

起始版本: 26.0.0
NODE_TEXT_ON_COPY = 1003定义长按输入框时显示的剪贴板上的复制按钮被点击时触发的事件。当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
起始版本: 26.0.0
NODE_TEXT_ON_WILL_COPY = 1004,定义复制文本前触发的事件。当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认复制行为。
0:拦截。1:不拦截。
起始版本: 26.0.0
NODE_IMAGE_ON_COMPLETE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE = 4000图片加载成功事件。触发该事件的条件 :图片数据加载成功和解码成功均触发该回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含9个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示加载状态,0表示数据加载成功,1表示解码成功。
ArkUI_NodeComponentEvent.data[1].f32:表示图片的宽度,单位px。
ArkUI_NodeComponentEvent.data[2].f32:表示图片的高度,单位px。
ArkUI_NodeComponentEvent.data[3].f32:表示当前组件的宽度,单位px。
ArkUI_NodeComponentEvent.data[4].f32:表示当前组件的高度,单位px。
ArkUI_NodeComponentEvent.data[5].f32:图片绘制区域相对组件X轴位置,单位px。
ArkUI_NodeComponentEvent.data[6].f32:图片绘制区域相对组件Y轴位置,单位px。
ArkUI_NodeComponentEvent.data[7].f32:图片绘制区域宽度,单位px。
ArkUI_NodeComponentEvent.data[8].f32:图片绘制区域高度,单位px。
NODE_IMAGE_ON_ERROR = 4001图片加载失败事件。触发该事件的条件:图片加载异常时触发该回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32错误码信息:
401: 图片路径参数异常,无法获取到图片数据。
103101: 图片格式不支持。
NODE_IMAGE_ON_SVG_PLAY_FINISH = 4002SVG图片动效播放完成事件。触发该事件的条件:带动效的SVG图片动画结束时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_IMAGE_ON_DOWNLOAD_PROGRESS = 4003定义图片下载过程中触发事件。触发该事件的条件 :页面组件下载网页图片时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].u32: 到目前为止已下载的字节数。
ArkUI_NodeComponentEvent.data[1].u32: 要下载图片的总字节数。
NODE_TOGGLE_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TOGGLE = 5000开关状态发生变化时触发给事件。触发该事件的条件:开关状态发生变化。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:当前开关状态,1表示开,0表示关。
NODE_TEXT_INPUT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_INPUT = 7000TextInput输入内容发生变化时触发该事件。触发该事件的条件:输入内容发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:输入的文本内容。
NODE_TEXT_INPUT_ON_SUBMIT = 7001TextInput按下输入法回车键触发该事件。触发该事件的条件:按下输入法回车键。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:输入法回车键类型。
NODE_TEXT_INPUT_ON_CUT = 7002长按输入框内部区域弹出剪贴板后,点击剪切板剪切按钮,触发该回调。触发该事件的条件:长按输入框内部区域弹出剪贴板后,点击剪切板剪切按钮。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:剪切的文本内容。
NODE_TEXT_INPUT_ON_PASTE = 7003长按输入框内部区域弹出剪贴板后,点击剪切板粘贴按钮,触发该回调。触发该事件的条件:长按输入框内部区域弹出剪贴板后,点击剪切板粘贴按钮。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:粘贴的文本内容。
从API版本26.0.0开始,回调函数可以返回是否允许粘贴。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认粘贴行为。
0:拦截。1:不拦截。
NODE_TEXT_INPUT_ON_TEXT_SELECTION_CHANGE = 7004文本选择的位置发生变化时,触发该回调。触发该事件的条件:文本选择的位置发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示所选文本的起始位置。
ArkUI_NodeComponentEvent.data[1].i32:表示所选文本的结束位置。
NODE_TEXT_INPUT_ON_EDIT_CHANGE = 7005输入状态变化时,触发该回调。触发该事件的条件:输入状态变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:true表示正在输入。
NODE_TEXT_INPUT_ON_INPUT_FILTER_ERROR = 7006设置NODE_TEXT_INPUT_INPUT_FILTER,正则匹配失败时触发。触发该事件的条件:正则匹配失败时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:表示正则匹配失败时,被过滤的内容。
NODE_TEXT_INPUT_ON_CONTENT_SCROLL = 7007文本内容滚动时,触发该回调。触发该事件的条件:文本内容滚动时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示文本在内容区的横坐标偏移。
ArkUI_NodeComponentEvent.data[1].i32:表示文本在内容区的纵坐标偏移。
NODE_TEXT_INPUT_ON_CONTENT_SIZE_CHANGE = 7008TextInput输入内容发生变化时触发该事件。触发该事件的条件:输入内容发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:表示文本的宽度。
ArkUI_NodeComponentEvent.data[1].f32:表示文本的高度。
NODE_TEXT_INPUT_ON_WILL_INSERT = 7009定义在将要输入时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
NODE_TEXT_INPUT_ON_DID_INSERT = 7010定义在输入完成时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
NODE_TEXT_INPUT_ON_WILL_DELETE = 7011定义在将要删除时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向,0为向后删除,1为向前删除。
通过OOH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
NODE_TEXT_INPUT_ON_DID_DELETE = 7012定义在删除完成时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向,0为向后删除,1为向前删除。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
NODE_TEXT_INPUT_ON_CHANGE_WITH_PREVIEW_TEXT = 7013定义TextInput组件在内容改变时(包含预上屏内容),触发回调的枚举值。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_TextChangeEvent
ArkUI_TextChangeEvent包含参数:
ArkUI_TextChangeEvent.pStr: TextInput的内容。
ArkUI_TextChangeEvent.pExtendStr: TextInput的预上屏内容。
ArkUI_TextChangeEvent.number: TextInput的预上屏起始位置。
起始版本: 15
NODE_TEXT_INPUT_ON_WILL_CHANGE = 7014定义TextInput组件在内容将要改变时(包含预上屏内容),触发回调的枚举值。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_TextChangeEvent
ArkUI_TextChangeEvent包含参数:
ArkUI_TextChangeEvent.pStr:TextInput的内容。
ArkUI_TextChangeEvent.pExtendStr:TextInput的预上屏内容。
ArkUI_TextChangeEvent.number:TextInput的预上屏起始位置。
起始版本: 20
NODE_TEXT_INPUT_ON_COPY = 7015定义当用户点击文本选择时显示的剪贴板上的复制按钮所触发的事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
起始版本: 26.0.0
NODE_TEXT_INPUT_ON_WILL_COPY = 7016定义复制文本前触发的事件。当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认复制行为。
0:拦截。1:不拦截。
起始版本: 26.0.0
NODE_TEXT_INPUT_ON_WILL_CUT = 7017,定义剪切文本前触发的事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:被剪切的文本。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认剪切行为。
0:拦截。1:不拦截。
起始版本: 26.0.0
NODE_TEXT_AREA_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_AREA = 8000输入内容发生变化时,触发该回调。触发该事件的条件:输入内容发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:当前输入的文本内容。
NODE_TEXT_AREA_ON_PASTE = 8001长按输入框内部区域弹出剪贴板后,点击剪切板粘贴按钮,触发该回调。触发该事件的条件:长按输入框内部区域弹出剪贴板后,点击剪切板粘贴按钮。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:粘贴的文本内容。
从API版本26.0.0开始,回调函数可以返回是否允许粘贴。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认粘贴行为。
0:拦截。1:不拦截。
NODE_TEXT_AREA_ON_TEXT_SELECTION_CHANGE = 8002文本选择的位置发生变化时,触发该回调。触发该事件的条件:文本选择的位置发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示所选文本的起始位置。
ArkUI_NodeComponentEvent.data[1].i32:表示所选文本的结束位置。
NODE_TEXT_AREA_ON_EDIT_CHANGE = 8003输入状态变化时,触发该回调。触发该事件的条件:输入状态变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:true表示正在输入。
NODE_TEXT_AREA_ON_SUBMIT = 8004TextArea按下输入法回车键触发该事件。触发该事件的条件:按下输入法回车键。keyType为ARKUI_ENTER_KEY_TYPE_NEW_LINE时不触发
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:输入法回车键类型。
NODE_TEXT_AREA_ON_INPUT_FILTER_ERROR = 8005设置NODE_TEXT_AREA_INPUT_FILTER,正则匹配失败时触发。触发该事件的条件:正则匹配失败时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:表示正则匹配失败时,被过滤的内容。
NODE_TEXT_AREA_ON_CONTENT_SCROLL = 8006文本内容滚动时,触发该回调。触发该事件的条件:文本内容滚动时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示文本在内容区的横坐标偏移。
ArkUI_NodeComponentEvent.data[1].i32:表示文本在内容区的纵坐标偏移。
NODE_TEXT_AREA_ON_CONTENT_SIZE_CHANGE = 8007TextArea输入内容发生变化时触发该事件。触发该事件的条件:输入内容发生变化时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:表示文本的宽度。
ArkUI_NodeComponentEvent.data[1].f32:表示文本的高度。
NODE_TEXT_AREA_ON_WILL_INSERT = 8008定义在将要输入时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
NODE_TEXT_AREA_ON_DID_INSERT = 8009定义在输入完成时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:插入的值的位置信息。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:插入的值。
NODE_TEXT_AREA_ON_WILL_DELETE = 8010定义在将要删除时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向,0为向后删除,1为向前删除。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
NODE_TEXT_AREA_ON_DID_DELETE = 8011定义在删除完成时,触发回调的枚举值。事件回调发生时,事件参数为ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:删除的值的位置信息。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.i32:删除值的方向,0为向后删除,1为向前删除。
通过OH_ArkUI_NodeEvent_GetStringValue获取到index为0的buffer字符串:删除的值。
NODE_TEXT_AREA_ON_CHANGE_WITH_PREVIEW_TEXT = 8012定义TextArea组件在内容改变时(包含预上屏内容),触发回调的枚举值。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_TextChangeEvent
ArkUI_TextChangeEvent包含参数:
ArkUI_TextChangeEvent.pStr: TextArea的内容。
ArkUI_TextChangeEvent.pExtendStr: TextArea的预上屏内容。
ArkUI_TextChangeEvent.number: TextArea的预上屏起始位置。
起始版本: 15
NODE_TEXT_AREA_ON_WILL_CHANGE = 8013定义TextArea组件在内容将要改变时(包含预上屏内容),触发回调的枚举值。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_TextChangeEvent
ArkUI_TextChangeEvent包含参数:
ArkUI_TextChangeEvent.pStr:TextArea的内容。
ArkUI_TextChangeEvent.pExtendStr:TextArea的预上屏内容。
ArkUI_TextChangeEvent.number:TextArea的预上屏起始位置。
起始版本: 20
NODE_TEXT_AREA_ON_COPY = 8014定义长按输入框时显示的剪贴板上的复制按钮被点击时触发的事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
起始版本: 26.0.0
NODE_TEXT_AREA_ON_WILL_COPY = 8015定义复制文本前触发的事件。当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:复制的文本。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认复制行为。
0:拦截。1:不拦截。
起始版本: 26.0.0
NODE_TEXT_AREA_ON_CUT = 8016长按输入框内部区域弹出剪贴板后,点击剪切板剪切按钮后,触发该回调。触发该事件的条件:长按输入框内部区域弹出剪贴板后,点击剪切板剪切按钮。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent中包含1个参数:
ArkUI_StringAsyncEvent.pStr:剪切的文本内容。起始版本: 26.0.0
NODE_TEXT_AREA_ON_WILL_CUT = 8017定义剪切文本前触发的事件。
当事件回调发生时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent包含一个参数:
ArkUI_StringAsyncEvent.pStr:被剪切的文本。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认剪切行为。
0:拦截。1:不拦截。
起始版本: 26.0.0
NODE_CHECKBOX_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX = 11000定义ARKUI_NODE_CHECKBOX当选中状态发生变化时,触发该回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent.data[0].i321:表示已选中, 0: 表示未选中。
NODE_DATE_PICKER_EVENT_ON_DATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_DATE_PICKER = 13000定义ARKUI_NODE_DATE_PICKER列表组件的滚动触摸事件枚举值。触发该事件的条件:选择日期时触发该事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示选中时间的年。
ArkUI_NodeComponentEvent.data[1].i32:表示选中时间的月,取值范围:[0-11]。
ArkUI_NodeComponentEvent.data[2].i32:表示选中时间的天。
NODE_TIME_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TIME_PICKER = 14000定义ARKUI_NODE_TIME_PICKER列表组件的滚动触摸事件枚举值。触发该事件的条件:选择时间时触发该事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示选中时间的时,取值范围:[0-23]。
ArkUI_NodeComponentEvent.data[1].i32:表示选中时间的分,取值范围:[0-59]。
NODE_TEXT_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_PICKER = 15000定义ARKUI_NODE_TEXT_PICKER列表组件的滚动触摸事件枚举值。触发该事件的条件 :选择文本时触发该事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0...11].i32表示选中数据的维度。
NODE_TEXT_PICKER_EVENT_ON_SCROLL_STOP = 15001定义ARKUI_NODE_TEXT_PICKER列表组件的滚动触摸事件枚举值。触发该事件的条件 :滑动选择文本项停止时触发该事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0...11].i32表示选中数据的维度。
起始版本: 14
NODE_CALENDAR_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CALENDAR_PICKER = 16000定义NODE_CALENDAR_PICKER选中日期时触发的事件。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponent.data[0].u32选中的年。
ArkUI_NodeComponent.data[1].u32选中的月。
ArkUI_NodeComponent.data[2].u32选中的日。
NODE_SLIDER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SLIDER = 17000定义ARKUI_NODE_SLIDER拖动或点击时触发事件回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前滑动进度值。
ArkUI_NodeComponentEvent.data[1].i32:事件触发的相关状态值
NODE_RADIO_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_RADIO = 18000定义ARKUI_NODE_RADIO拖动或点击时触发事件回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:单选框的状态。
NODE_IMAGE_ANIMATOR_EVENT_ON_START = MAX_NODE_SCOPE_NUM * ARKUI_NODE_IMAGE_ANIMATOR = 19000定义帧动画开始的状态回调。触发该事件的条件:
1、帧动画开始播放时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_IMAGE_ANIMATOR_EVENT_ON_PAUSE = 19001定义帧动画播放暂停时的状态回调。触发该事件的条件:
1、帧动画暂停播放时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_IMAGE_ANIMATOR_EVENT_ON_REPEAT = 19002定义帧动画c重复播放时的状态回调。触发该事件的条件:
1、帧动画重复播放时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_IMAGE_ANIMATOR_EVENT_ON_CANCEL = 19003定义帧动画返回最初状态时的状态回调。触发该事件的条件:
1、帧动画返回最初状态时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_IMAGE_ANIMATOR_EVENT_ON_FINISH = 19004定义帧动画播放完成时或者停止播放时的状态回调。触发该事件的条件:
1、帧动画播放完成时或停止播放时。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_CHECKBOX_GROUP_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_CHECKBOX_GROUP = 21000定义ARKUI_NODE_CHECKBOX_GROUP的选中状态或群组内的Checkbox的选中状态发生变化时,触发该回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_StringAsyncEvent
ArkUI_StringAsyncEvent.pStrName: 被选中的checkbox的名字;Status:0: 表示群组多选择框全部选择。1: 群组多选择框部分选择。2: 群组多选择框全部没有选择。
起始版本: 15
NODE_TEXT_EDITOR_ON_SELECTION_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_TEXT_EDITOR = 22000定义TextEditor组件中选区或光标位置发生变化时触发的事件。
事件回调触发时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent包含两个参数:
ArkUI_NodeComponentEvent.data[0].i32:选区起始索引。
ArkUI_NodeComponentEvent.data[1].i32:选区结束索引。
起始版本: 24
NODE_TEXT_EDITOR_ON_READY = 22001定义TextEditor组件首次初始化完成时触发的事件。
事件回调触发时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
起始版本: 24
NODE_TEXT_EDITOR_ON_PASTE = 22002定义TextEditor组件执行粘贴时触发的事件。
系统会根据回调函数返回值判断是否拦截组件的默认行为。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认行为。
0:不拦截。1:拦截。
起始版本: 24
NODE_TEXT_EDITOR_ON_EDITING_CHANGE = 22003定义TextEditor组件编辑状态发生变化时触发的事件。
事件回调触发时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent包含一个参数:
ArkUI_NodeComponentEvent.data[0].i32:组件的编辑状态。
起始版本: 24
NODE_TEXT_EDITOR_ON_SUBMIT = 22004定义TextEditor组件输入法的回车键被按下时触发的事件。
事件回调触发时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent包含一个参数:
ArkUI_NodeComponentEvent.data[0].i32:输入法的回车键类型ArkUI_EnterKeyType
起始版本: 24
NODE_TEXT_EDITOR_ON_CUT = 22005定义TextEditor组件执行剪切时触发的事件。
系统会根据回调函数返回值判断是否拦截组件的默认行为。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认行为。
0:不拦截。1:拦截。
起始版本: 24
NODE_TEXT_EDITOR_ON_COPY = 22006定义TextEditor组件执行复制时触发的事件。
系统会根据回调函数返回值判断是否拦截组件的默认行为。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示是否拦截组件的默认行为。
0:不拦截。1:拦截。
起始版本: 24
NODE_TEXT_EDITOR_ON_WILL_CHANGE = 22007定义TextEditor组件在内容将要改变时触发的事件。
在任何导致文本内容发生变化的操作生效之前会触发该回调,开发者可根据回调事件中的信息决定是否拦截本次内容变更。
当事件回调发生时,可以通过OH_ArkUI_NodeEvent_GetTextEditorOnWillChangeEventArkUI_NodeEvent对象中获得OH_ArkUI_TextEditorChangeEvent对象。
使用OH_ArkUI_TextEditorChangeEvent_XXX系列接口可以从该对象中获取更多信息。
系统会根据回调函数返回值判断当前内容是否允许被更改。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中索引为0的value.i32表示当前内容是否允许被更改。0:允许更改。1:不允许更改。
起始版本: 24
NODE_TEXT_EDITOR_ON_DID_CHANGE = 22008定义TextEditor组件在内容改变时触发的事件。
事件回调触发时,ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent包含四个参数:
ArkUI_NodeComponentEvent.data[0].i32:文本变化前将要被替换的文本范围的起始索引。
ArkUI_NodeComponentEvent.data[1].i32:文本变化前将要被替换的文本范围的结束索引。
ArkUI_NodeComponentEvent.data[2].i32:文本变化后新增内容的文本范围的起始索引。
ArkUI_NodeComponentEvent.data[3].i32:文本变化后新增内容的文本范围的结束索引。
起始版本: 24
NODE_SWIPER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SWIPER = 1001000定义ARKUI_NODE_SWIPER当前元素索引变化时触发事件回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示当前显示元素的索引。
NODE_SWIPER_EVENT_ON_ANIMATION_START = 1001001定义ARKUI_NODE_SWIPER切换动画开始时触发回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含5个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示当前显示元素的索引。
ArkUI_NodeComponentEvent.data[1].i32:表示切换动画目标元素的索引。
ArkUI_NodeComponentEvent.data[2].f32:表示主轴方向上当前显示元素相对Swiper起始位置的位移。
ArkUI_NodeComponentEvent.data[3].f32:表示主轴方向上目标元素相对Swiper起始位置的位移。
ArkUI_NodeComponentEvent.data[4].f32:表示离手速度。
NODE_SWIPER_EVENT_ON_ANIMATION_END = 1001002定义ARKUI_NODE_SWIPER切换动画结束是触发回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示当前显示元素的索引。
ArkUI_NodeComponentEvent.data[1].f32:表示主轴方向上当前显示元素相对Swiper起始位置的位移。
NODE_SWIPER_EVENT_ON_GESTURE_SWIPE = 1001003定义ARKUI_NODE_SWIPER在页面跟手滑动过程中,逐帧触发该回调。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:表示当前显示元素的索引。
ArkUI_NodeComponentEvent.data[1].f32:表示主轴方向上当前显示元素相对Swiper起始位置的位移。
NODE_SWIPER_EVENT_ON_CONTENT_DID_SCROLL = 1001004定义ARKUI_NODE_SWIPER监听Swiper页面滑动事件。使用说明 :
1. 设置NODE_SWIPER_DISPLAY_COUNT属性为'auto'时,该接口不生效。
2. 循环场景下,设置prevMargin和nextMargin属性,使得Swiper前后端显示同一页面时,该接口不生效。
3. 在页面滑动过程中,会对视窗内所有页面逐帧触发ContentDidScrollCallback回调。
例如,当视窗内有下标为0、1的两个页面时,会每帧触发两次index值分别为0和1的回调。
4. 设置displayCount属性的swipeByGroup参数为true时,若同组中至少有一个页面在视窗内时,
则会对同组中所有页面触发回调。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含4个参数:
ArkUI_NodeComponentEvent.data[0].i32:Swiper组件的索引,和onChange事件中的index值变化保持一致。
ArkUI_NodeComponentEvent.data[1].i32:视窗内某个页面的索引。
ArkUI_NodeComponentEvent.data[2].f32:页面相对于Swiper主轴起始位置(selectedIndex对应页面的起始位置)的移动比例。
ArkUI_NodeComponentEvent.data[3].f32:主轴方向上页面的长度。
NODE_SWIPER_EVENT_ON_SELECTED = 1001005定义当ARKUI_NODE_SWIPER选中元素改变时触发回调。触发该事件的条件:
1、滑动离手时满足翻页阈值,开始切换动画时。
2、通过NODE_SWIPER_INDEX或NODE_SWIPER_SWIPE_TO_INDEX切换页面时。
事件回调发生时, 事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent 中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32: 表示当前选中元素的索引。
起始版本: 18
NODE_SWIPER_EVENT_ON_UNSELECTED = 1001006定义当ARKUI_NODE_SWIPER页面切换事件回调。满足以下任一条件,即可触发该事件:
1. 滑动离手时满足翻页阈值,并且开始切换动画。
2. 通过NODE_SWIPER_INDEX或NODE_SWIPER_SWIPE_TO_INDEX切换页面。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent 中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32: 表示将要隐藏元素的索引。
起始版本: 18
NODE_SWIPER_EVENT_ON_CONTENT_WILL_SCROLL = 1001007定义ARKUI_NODE_SWIPER滑动行为拦截事件。使用说明: 在页面滑动前, ContentWillScrollCallback 回调会触发。
事件回调发生时, 事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].i32: 当前显示元素的索引。修改该值作为拦截本次事件的结果,设置为0表示拦截,设置为1表示不拦截。
ArkUI_NodeComponentEvent.data[1].i32: 切换动画目标元素的索引。
ArkUI_NodeComponentEvent.data[2].f32: 每帧的滑动偏移量。正数表示向后滑动(例如从index=1到index=0),负数表示向前滑动(例如从index=0到index=1)。
起始版本: 15
NODE_SWIPER_EVENT_ON_SCROLL_STATE_CHANGED = 1001008定义ARKUI_NODE_SWIPER滑动状态变化事件。触发该事件的条件 :
Swiper在跟手滑动、离手动画、停止三种滑动状态变化时触发。事件回调发生时, 事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32: 当前滑动状态,参数类型ArkUI_ScrollState
起始版本: 20
NODE_SCROLL_EVENT_ON_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_SCROLL = 1002000定义滚动容器组件的滚动事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:表示距离上一次事件触发的X轴增量。
ArkUI_NodeComponentEvent.data[1].f32:表示距离上一次事件触发的Y轴增量。
NODE_SCROLL_EVENT_ON_SCROLL_FRAME_BEGIN = 1002001定义滚动容器组件的每帧滚动开始事件枚举值。List/Scroll/WaterFlow从API version 12开始支持,Grid从API version 22开始支持。
触发该事件的条件 :
1. 滚动组件触发滚动时触发,包括键鼠操作等其他触发滚动的输入设置。
2. 调用控制器接口时不触发。
3. 越界回弹不触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:表示即将发生的滚动量。
ArkUI_NodeComponentEvent.data[1].i32:表示当前滚动状态。
::ArkUI_NodeComponentEvent中包含1个返回值:
ArkUI_NodeComponentEvent.data[0].f32:事件处理函数中可根据应用场景计算实际需要的滚动量并存于data[0].f32中,Scroll将按照返回值的实际滚动量进行滚动。
NODE_SCROLL_EVENT_ON_WILL_SCROLL = 1002002定义滚动容器组件的滑动前触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含4个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,内容向左滚动时偏移量为正,向右滚动时偏移量为负,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:每帧滚动的偏移量,内容向上滚动时偏移量为正,向下滚动时偏移量为负,单位vp。
ArkUI_NodeComponentEvent.data[2].i32:当前滑动状态,参数类型ArkUI_ScrollState
ArkUI_NodeComponentEvent.data[3].i32:当前滚动的来源,参数类型ArkUI_ScrollSource
NODE_SCROLL_EVENT_ON_DID_SCROLL = 1002003定义滚动容器组件的滑动时触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,内容向左滚动时偏移量为正,向右滚动时偏移量为负,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:每帧滚动的偏移量,内容向上滚动时偏移量为正,向下滚动时偏移量为负,单位vp。
ArkUI_NodeComponentEvent.data[2].i32:当前滑动状态,参数类型ArkUI_ScrollState
NODE_SCROLL_EVENT_ON_SCROLL_START = 1002004定义滚动容器组件的滚动开始事件枚举值。List/Scroll/WaterFlow从API version 12开始支持,Grid从API version 22开始支持。
触发该事件的条件 :
1. 滚动组件开始滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用后开始,带过渡动效。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_SCROLL_EVENT_ON_SCROLL_STOP = 1002005定义滚动容器组件的滚动停止事件枚举值。List/Scroll/WaterFlow从API version 12开始支持,Grid从API version 22开始支持。
触发该事件的条件 :
1. 滚动组件触发滚动后停止,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用后停止,带过渡动效。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_SCROLL_EVENT_ON_SCROLL_EDGE = 1002006定义滚动容器组件的滚动边缘事件枚举值。触发该事件的条件 :
1. 滚动组件滚动到边缘时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数。
ArkUI_NodeComponentEvent.data[0].i32:表示当前碰到的是上下左右哪个边。
NODE_SCROLL_EVENT_ON_REACH_START = 1002007定义滚动容器组件到达起始位置时触发回调。触发该事件的条件 :
1. 组件到达起始位置时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_SCROLL_EVENT_ON_REACH_END = 1002008定义滚动容器组件到达末尾位置时触发回调。触发该事件的条件 :
1. 组件到底末尾位置时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
NODE_SCROLL_EVENT_ON_WILL_STOP_DRAGGING = 1002009定义滚动容器组件拖划即将离手回调。触发该事件的条件:
滚动容器组件拖划即将离手时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].f32:滑动离手速度,单位vp/s。
起始版本: 20
NODE_SCROLL_EVENT_ON_DID_ZOOM = 1002010定义Scroll组件缩放回调。触发该事件的条件:Scroll组件缩放每帧完成时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前缩放比例。
起始版本: 20
NODE_SCROLL_EVENT_ON_ZOOM_START = 1002011定义Scroll组件缩放开始回调。触发该事件的条件:Scroll组件缩放开始时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
起始版本: 20
NODE_SCROLL_EVENT_ON_ZOOM_STOP = 1002012定义Scroll组件缩放停止回调。触发该事件的条件:Scroll组件缩放停止时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
起始版本: 20
NODE_SCROLL_EVENT_ON_WILL_START_DRAGGING = 1002013定义滚动容器组件拖划即将开始回调。触发该事件的条件:滚动容器组件拖划即将开始时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
起始版本: 21
NODE_SCROLL_EVENT_ON_DID_STOP_DRAGGING = 1002014定义滚动容器组件拖划结束回调。触发该事件的条件:滚动容器组件拖划结束后触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:拖划结束后是否触发滑动动画。
起始版本: 21
NODE_SCROLL_EVENT_ON_WILL_START_FLING = 1002015定义滚动容器组件滑动动画即将开始回调。触发该事件的条件:滚动容器组件滑动动画即将开始时触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
起始版本: 21
NODE_SCROLL_EVENT_ON_DID_STOP_FLING = 1002016定义滚动容器组件滑动动画结束回调。触发该事件的条件:滚动容器组件滑动动画结束后触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数。
起始版本: 21
NODE_LIST_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_LIST = 1003000定义ARKUI_NODE_LIST有子组件划入或划出List显示区域时触发事件枚举值。触发该事件的条件 :
列表初始化时会触发一次,List显示区域内第一个子组件的索引值或最后一个子组件的索引值有变化时会触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].i32:List显示区域内第一个子组件的索引值。
ArkUI_NodeComponentEvent.data[1].i32:List显示区域内最后一个子组件的索引值。
ArkUI_NodeComponentEvent.data[2].i32:List显示区域内中间位置子组件的索引值。
NODE_LIST_ON_WILL_SCROLL = 1003001定义ARKUI_NODE_LIST组件的滑动前触发事件枚举值。触发该事件的条件:
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,list内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态,参数类型ArkUI_ScrollState
ArkUI_NodeComponentEvent.data[2].i32:当前滚动的来源,参数类型ArkUI_ScrollSource
NODE_LIST_ON_DID_SCROLL = 1003002定义ARKUI_NODE_LIST组件的滑动时触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,list内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态。
NODE_LIST_ON_SCROLL_VISIBLE_CONTENT_CHANGE = 1003003定义ARKUI_NODE_LIST当前显示内容发生改变的时候触发事件枚举值。触发该事件的条件 :
列表初始化时会触发一次,List显示区域内第一个子组件的索引值或最后一个子组件的索引值有变化时会触发。计算触发条件时,每一个ListItemListItemGroup中的headerfooter都算一个子组件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含6个参数:
ArkUI_NodeComponentEvent.data[0].i32:List显示区域内第一个子组件的索引值。
ArkUI_NodeComponentEvent.data[1].i32:List显示区域起始端在ListItemGroup中的区域。类型为ArkUI_ListItemGroupArea
ArkUI_NodeComponentEvent.data[2].i32:List显示区域起始端在ListItemGroup中的ListItem索引号,如果List显示区域起始端不在ListItem上,该值为-1。
ArkUI_NodeComponentEvent.data[3].i32:List显示区域内最后一个子组件的索引值。
ArkUI_NodeComponentEvent.data[4].i32:List显示区域末尾端在ListItemGroup中的区域。类型为ArkUI_ListItemGroupArea
ArkUI_NodeComponentEvent.data[5].i32:List显示区域末尾端在ListItemGroup中的ListItem索引号,如果List显示区域末尾端不在ListItem上,该值为-1。
起始版本: 15
NODE_REFRESH_STATE_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_REFRESH = 1009000定义ARKUI_NODE_REFRESH刷新状态变更触发该事件。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:刷新状态。
0:Inactive,默认未下拉状态。
1:Drag,下拉中,下拉距离小于刷新距离。若此时松手,组件进入Inactive状态;若此时继续下拉使下拉距离超过刷新距离,组件进入OverDrag状态。
2:OverDrag,下拉中,下拉距离超过刷新距离。若此时松手,组件进入Refresh状态;若此时上滑使下拉距离小于刷新距离,组件进入Drag状态。
3:Refresh,下拉结束,回弹至刷新距离,进入刷新中状态。
4:Done,刷新结束,返回初始状态(顶部)。
NODE_REFRESH_ON_REFRESH = 1009001定义ARKUI_NODE_REFRESH进入刷新状态时触发该事件。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中不包含参数:
NODE_REFRESH_ON_OFFSET_CHANGE = 1009002定义ARKUI_NODE_REFRESH下拉距离发生变化时触发该事件。事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].f32:下拉距离。
NODE_ON_WILL_SCROLL = MAX_NODE_SCOPE_NUM * ARKUI_NODE_WATER_FLOW = 1010000定义ARKUI_NODE_WATER_FLOW组件的滑动前触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态,参数类型ArkUI_ScrollState
ArkUI_NodeComponentEvent.data[2].i32:当前滚动的来源,参数类型ArkUI_ScrollSource
NODE_WATER_FLOW_ON_DID_SCROLL = 1010001定义ARKUI_NODE_WATER_FLOW组件的滑动时触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态。
NODE_WATER_FLOW_ON_SCROLL_INDEX = 1010002定义ARKUI_NODE_WATER_FLOW当前瀑布流显示的起始位置/终止位置的子组件发生变化时触发事件枚举值。触发该事件的条件 :
瀑布流显示区域上第一个子组件/最后一个组件的索引值有变化就会触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:当前显示的WaterFlow起始位置的索引值。
ArkUI_NodeComponentEvent.data[1].i32:当前显示的瀑布流终止位置的索引值。
NODE_GRID_ON_SCROLL_INDEX = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID = 1013000定义ARKUI_NODE_GRID有子组件滑入或滑出Grid显示区域时触发事件枚举值。触发该事件的条件 :
Grid初始化时会触发一次,Grid显示区域内第一个子组件的索引值或最后一个子组件的索引值有变化时会触发。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].i32:Grid显示区域内第一个子组件的索引值。
ArkUI_NodeComponentEvent.data[1].i32:Grid显示区域内最后一个子组件的索引值。
起始版本: 22
NODE_GRID_ON_WILL_SCROLL = 1013001定义ARKUI_NODE_GRID组件的滑动前触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,Grid内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态,参数类型ArkUI_ScrollState
ArkUI_NodeComponentEvent.data[2].i32:当前滚动的来源,参数类型ArkUI_ScrollSource
起始版本: 22
NODE_GRID_ON_DID_SCROLL = 1013002定义ARKUI_NODE_GRID组件的滑动时触发事件枚举值。触发该事件的条件 :
1. 滚动组件触发滚动时触发,支持键鼠操作等其他触发滚动的输入设置。
2. 通过滚动控制器API接口调用。
3. 越界回弹。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:每帧滚动的偏移量,Grid内容向上滚动时偏移量为正,向下滚动时偏移量为负。
ArkUI_NodeComponentEvent.data[1].i32:当前滑动状态,参数类型ArkUI_ScrollState
起始版本: 22
NODE_GRID_ON_SCROLL_BAR_UPDATE = 1013003定义ARKUI_NODE_GRID组件每帧布局结束时,触发用于设置滚动条的位置及长度的事件枚举值。
事件回调发生时,事件参数ArkUI_NodeEvent。通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.i32:当前显示的网格起始位置的索引值。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.f32:当前显示的网格起始位置元素相对网格显示起始位置的偏移,单位vp。
起始版本: 22
NODE_GRID_ON_ITEM_DRAG_START = 1013004定义ARKUI_NODE_GRID组件拖拽子组件开始事件枚举值。
触发该事件的条件:
1. 设置NODE_GRID_EDIT_MODE为1。
2. 在Grid子组件上长按并拖动产生足够位移距离时触发。
事件回调发生时,事件参数ArkUI_NodeEvent
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为0的value.f32:当前拖拽点相对Grid组件的x坐标,单位vp。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为1的value.f32:当前拖拽点相对Grid组件的y坐标,单位vp。
通过OH_ArkUI_NodeEvent_GetNumberValue获取到index为2的value.i32:被拖拽子组件在Grid组件中的索引值。
可通过OH_ArkUI_NodeEvent_SetReturnNumberValue设置返回值。
返回值中index为0的value.i32表示是否可以拖拽,0表示不可以拖拽,1表示可以拖拽。
起始版本: 23
NODE_GRID_ON_ITEM_DRAG_ENTER = 1013005定义拖拽子组件进入当前Grid组件范围事件枚举值。
触发该事件的条件:
通过NODE_GRID_ON_ITEM_DRAG_START事件成功拖拽的子组件进入当前Grid组件范围。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含2个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前拖拽点相对Grid组件的x坐标,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:当前拖拽点相对Grid组件的y坐标,单位vp。
起始版本: 23
NODE_GRID_ON_ITEM_DRAG_MOVE = 1013006定义拖拽子组件在当前Grid组件范围内移动事件枚举值。
触发该事件的条件:
通过NODE_GRID_ON_ITEM_DRAG_START事件成功拖拽的子组件进入当前Grid组件范围。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含4个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前拖拽点相对Grid组件的x坐标,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:当前拖拽点相对Grid组件的y坐标,单位vp。
ArkUI_NodeComponentEvent.data[2].i32:被拖拽子组件在被拖拽Grid组件中的索引值。
ArkUI_NodeComponentEvent.data[3].i32:被拖拽子组件当前位置在当前Grid组件中的索引值。
起始版本: 23
NODE_GRID_ON_ITEM_DRAG_LEAVE = 1013007定义拖拽子组件离开当前Grid组件范围事件枚举值。
触发该事件的条件:
通过NODE_GRID_ON_ITEM_DRAG_START事件成功拖拽的子组件离开当前Grid组件范围。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含3个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前拖拽点相对Grid组件的x坐标,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:当前拖拽点相对Grid组件的y坐标,单位vp。
ArkUI_NodeComponentEvent.data[2].i32:被拖拽子组件在被拖拽Grid组件中的索引值。
起始版本: 23
NODE_GRID_ON_ITEM_DROP = 1013008定义松手释放拖拽子组件事件枚举值。
触发该事件的条件:
松手释放通过NODE_GRID_ON_ITEM_DRAG_START事件成功拖拽的子组件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含5个参数:
ArkUI_NodeComponentEvent.data[0].f32:当前拖拽点相对Grid组件的x坐标,单位vp。
ArkUI_NodeComponentEvent.data[1].f32:当前拖拽点相对Grid组件的y坐标,单位vp。
ArkUI_NodeComponentEvent.data[2].i32:被拖拽子组件在被拖拽Grid组件中的索引值。
ArkUI_NodeComponentEvent.data[3].i32:被拖拽子组件当前位置在当前Grid组件中的索引值。
ArkUI_NodeComponentEvent.data[4].i32:被拖拽子组件是否成功释放,1表示释放位置在Grid组件范围内,0表示释放位置在Grid组件范围外。
起始版本: 23
NODE_GRID_ITEM_ON_SELECT = MAX_NODE_SCOPE_NUM * ARKUI_NODE_GRID_ITEM = 1014000定义ARKUI_NODE_GRID_ITEM组件选中状态变化事件枚举值。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:0:未选中,1:已选中。
起始版本: 23
NODE_PICKER_EVENT_ON_CHANGE = MAX_NODE_SCOPE_NUM * ARKUI_NODE_PICKER定义Picker容器组件中选择某项时触发的事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:选中项的值。
起始版本: 23
NODE_PICKER_EVENT_ON_SCROLL_STOP = 1018001定义Picker容器组件中选择某项且滚动停止时触发的事件。
事件回调发生时,事件参数ArkUI_NodeEvent对象中的联合体类型为ArkUI_NodeComponentEvent
ArkUI_NodeComponentEvent中包含1个参数:
ArkUI_NodeComponentEvent.data[0].i32:选中项的值。
起始版本: 23

ArkUI_NodeDirtyFlag

enum ArkUI_NodeDirtyFlag

描述:

自定义组件调用::markDirty时,传递重新执行测量、布局或者绘制的标识类型。

起始版本: 12

枚举项描述
NODE_NEED_MEASURE = 1重新测量大小。该flag类型触发时,同时也默认会触发重新布局。
NODE_NEED_LAYOUT = 2重新布局位置。
NODE_NEED_RENDER = 3重新进行绘制。

ArkUI_NodeCustomEventType

enum ArkUI_NodeCustomEventType

描述:

定义自定义组件事件类型。

起始版本: 12

枚举项描述
ARKUI_NODE_CUSTOM_EVENT_ON_MEASURE = 1 << 0自定义测量类型。
ARKUI_NODE_CUSTOM_EVENT_ON_LAYOUT = 1 << 1自定义布局类型。
ARKUI_NODE_CUSTOM_EVENT_ON_DRAW = 1 << 2自定义内容层绘制类型。
ARKUI_NODE_CUSTOM_EVENT_ON_FOREGROUND_DRAW = 1 << 3自定义前景绘制类型。
ARKUI_NODE_CUSTOM_EVENT_ON_OVERLAY_DRAW = 1 << 4自定义浮层绘制类型。
ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_FRONT = 1 << 5自定义内容层前景绘制类型。
起始版本: 20
ARKUI_NODE_CUSTOM_EVENT_ON_DRAW_BEHIND = 1 << 6自定义内容层背景绘制类型。
起始版本: 20

ArkUI_NodeAdapterEventType

enum ArkUI_NodeAdapterEventType

描述:

定义节点适配器事件枚举值。

起始版本: 12

枚举项描述
NODE_ADAPTER_EVENT_WILL_ATTACH_TO_NODE = 1组件和adapter关联时产生该事件。
NODE_ADAPTER_EVENT_WILL_DETACH_FROM_NODE = 2组件和adapter取消关联时产生该事件。
NODE_ADAPTER_EVENT_ON_GET_NODE_ID = 3Adapter需要添加新元素时获取新元素的唯一标识符时产生该事件。
NODE_ADAPTER_EVENT_ON_ADD_NODE_TO_ADAPTER = 4Adapter需要添加新元素时获取新元素的内容时产生该事件。
NODE_ADAPTER_EVENT_ON_REMOVE_NODE_FROM_ADAPTER = 5Adapter将元素移除时产生该事件。

ArkUI_NodeContentEventType

enum ArkUI_NodeContentEventType

描述:

定义NodeContent事件类型。

起始版本: 12

枚举项描述
NODE_CONTENT_EVENT_ON_ATTACH_TO_WINDOW = 0上树事件。
NODE_CONTENT_EVENT_ON_DETACH_FROM_WINDOW = 1下树事件。

ArkUI_InspectorErrorCode

enum ArkUI_InspectorErrorCode

描述:

inspector错误码的枚举。

起始版本: 15

枚举项描述
ARKUI_INSPECTOR_NATIVE_RESULT_SUCCESSFUL = 0成功。
ARKUI_INSPECTOR_NATIVE_RESULT_BAD_PARAMETER = -1参数错误。

函数说明

OH_ArkUI_NodeEvent_GetEventType()

ArkUI_NodeEventType OH_ArkUI_NodeEvent_GetEventType(ArkUI_NodeEvent* event)

描述:

获取组件事件类型。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
ArkUI_NodeEventTypeArkUI_NodeEventType 组件事件类型。

OH_ArkUI_NodeEvent_GetTargetId()

int32_t OH_ArkUI_NodeEvent_GetTargetId(ArkUI_NodeEvent* event)

描述:

获取事件自定义标识ID。该事件ID在调用registerNodeEvent函数时作为参数传递进来,可应用于同一事件入口函数registerNodeEventReceiver分发逻辑。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
int32_tint32_t 事件自定义标识ID。

OH_ArkUI_NodeEvent_GetNodeHandle()

ArkUI_NodeHandle OH_ArkUI_NodeEvent_GetNodeHandle(ArkUI_NodeEvent* event)

描述:

获取触发该事件的组件对象。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
ArkUI_NodeHandleArkUI_NodeHandle 触发该组件的组件对象。

OH_ArkUI_NodeEvent_GetInputEvent()

ArkUI_UIInputEvent* OH_ArkUI_NodeEvent_GetInputEvent(ArkUI_NodeEvent* event)

描述:

获取组件事件中的输入事件(如触碰事件)数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
ArkUI_UIInputEvent*ArkUI_UIInputEvent 输入事件数据指针。

OH_ArkUI_NodeEvent_GetNodeComponentEvent()

ArkUI_NodeComponentEvent* OH_ArkUI_NodeEvent_GetNodeComponentEvent(ArkUI_NodeEvent* event)

描述:

获取组件事件中的数字类型数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
ArkUI_NodeComponentEvent*ArkUI_NodeComponentEvent 数字类型数据指针。

OH_ArkUI_NodeEvent_GetStringAsyncEvent()

ArkUI_StringAsyncEvent* OH_ArkUI_NodeEvent_GetStringAsyncEvent(ArkUI_NodeEvent* event)

描述:

获取组件事件中的字符串数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
ArkUI_StringAsyncEvent*ArkUI_StringAsyncEvent 字符串数据指针。

OH_ArkUI_NodeEvent_GetTextChangeEvent()

ArkUI_TextChangeEvent* OH_ArkUI_NodeEvent_GetTextChangeEvent(ArkUI_NodeEvent* event)

描述:

获取组件事件中的ArkUI_TextChangeEvent数据。

起始版本: 15

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针,不应为空。

返回:

类型说明
ArkUI_TextChangeEvent*返回ArkUI_TextChangeEvent对象的指针。

OH_ArkUI_NodeEvent_GetUserData()

void* OH_ArkUI_NodeEvent_GetUserData(ArkUI_NodeEvent* event)

描述:

获取组件事件中的用户自定义数据。该自定义参数在调用registerNodeEvent函数时作为参数传递进来,可应用于事件触发时的业务逻辑处理。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。

返回:

类型说明
void*void 用户自定义数据指针。

OH_ArkUI_NodeEvent_GetNumberValue()

int32_t OH_ArkUI_NodeEvent_GetNumberValue(ArkUI_NodeEvent* event, int32_t index, ArkUI_NumberValue* value)

描述:

获取组件回调事件的数字类型参数。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。
int32_t index返回值索引。
ArkUI_NumberValue* value具体返回值。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE 组件事件中参数长度超限。
ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID 组件事件中不存在该数据。

OH_ArkUI_NodeEvent_GetStringValue()

int32_t OH_ArkUI_NodeEvent_GetStringValue(ArkUI_NodeEvent* event, int32_t index, char** string, int32_t* stringSize)

描述:

获取组件回调事件的字符串类型参数,字符串数据仅在事件回调过程中有效,需要在事件回调外使用建议进行额外拷贝处理。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。
int32_t index返回值索引。
char** string字符串数组的指针。
int32_t* stringSize字符串数组的长度。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INDEX_OUT_OF_RANGE 组件事件中参数长度超限。
ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID 组件事件中不存在该数据。

OH_ArkUI_NodeEvent_SetReturnNumberValue()

int32_t OH_ArkUI_NodeEvent_SetReturnNumberValue(ArkUI_NodeEvent* event, ArkUI_NumberValue* value, int32_t size)

描述:

设置组件回调事件的返回值。

起始版本: 12

参数:

参数项描述
ArkUI_NodeEvent* event组件事件指针。
ArkUI_NumberValue* value事件数字类型数组。
int32_t size数组长度。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_NODE_EVENT_PARAM_INVALID 组件事件中不存在该数据。

OH_ArkUI_NodeAdapter_Create()

ArkUI_NodeAdapterHandle OH_ArkUI_NodeAdapter_Create()

描述:

创建组件适配器对象。

起始版本: 12

返回:

类型说明
ArkUI_NodeAdapterHandle组件适配器对象。

OH_ArkUI_NodeAdapter_Dispose()

void OH_ArkUI_NodeAdapter_Dispose(ArkUI_NodeAdapterHandle handle)

描述:

销毁组件适配器对象。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。

OH_ArkUI_NodeAdapter_SetTotalNodeCount()

int32_t OH_ArkUI_NodeAdapter_SetTotalNodeCount(ArkUI_NodeAdapterHandle handle, uint32_t size)

描述:

设置Adapter中的元素总数。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
uint32_t size元素数量。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeAdapter_GetTotalNodeCount()

uint32_t OH_ArkUI_NodeAdapter_GetTotalNodeCount(ArkUI_NodeAdapterHandle handle)

描述:

获取Adapter中的元素总数。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。

返回:

类型说明
uint32_tAdapter中的元素总数。

OH_ArkUI_NodeAdapter_RegisterEventReceiver()

int32_t OH_ArkUI_NodeAdapter_RegisterEventReceiver(
ArkUI_NodeAdapterHandle handle, void* userData, void (*receiver)(ArkUI_NodeAdapterEvent* event))

描述:

注册Adapter相关回调事件。在相关回调事件不需要之后,需要执行OH_ArkUI_NodeAdapter_UnregisterEventReceiver接口注销相关回调事件。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
void* userData自定义数据。
receiver事件接收回调。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeAdapter_UnregisterEventReceiver()

void OH_ArkUI_NodeAdapter_UnregisterEventReceiver(ArkUI_NodeAdapterHandle handle)

描述:

注销Adapter相关回调事件。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。

OH_ArkUI_NodeAdapter_ReloadAllItems()

int32_t OH_ArkUI_NodeAdapter_ReloadAllItems(ArkUI_NodeAdapterHandle handle)

描述:

通知Adapter进行全量元素变化。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeAdapter_ReloadItem()

int32_t OH_ArkUI_NodeAdapter_ReloadItem(
ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)

描述:

通知Adapter进行局部元素变化。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
uint32_t startPosition元素变化起始位置。
uint32_t itemCount元素变化数量。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_NO_LISTENER_ERROR NodeAdapter需要添加监听器。

OH_ArkUI_NodeAdapter_RemoveItem()

int32_t OH_ArkUI_NodeAdapter_RemoveItem(
ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)

描述:

通知Adapter进行局部元素删除。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
uint32_t startPosition元素删除起始位置。
uint32_t itemCount元素删除数量。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_NO_LISTENER_ERROR NodeAdapter需要添加监听器。

OH_ArkUI_NodeAdapter_InsertItem()

int32_t OH_ArkUI_NodeAdapter_InsertItem(
ArkUI_NodeAdapterHandle handle, uint32_t startPosition, uint32_t itemCount)

描述:

通知Adapter进行局部元素插入。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
uint32_t startPosition元素插入起始位置。
uint32_t itemCount元素插入数量。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_NO_LISTENER_ERROR NodeAdapter需要添加监听器。

OH_ArkUI_NodeAdapter_MoveItem()

int32_t OH_ArkUI_NodeAdapter_MoveItem(ArkUI_NodeAdapterHandle handle, uint32_t from, uint32_t to)

描述:

通知Adapter进行局部元素移位。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
uint32_t from元素移位起始位置。
uint32_t to元素移位结束位置。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_NO_LISTENER_ERROR NodeAdapter需要添加监听器。

OH_ArkUI_NodeAdapter_GetAllItems()

int32_t OH_ArkUI_NodeAdapter_GetAllItems(ArkUI_NodeAdapterHandle handle, ArkUI_NodeHandle** items, uint32_t* size)

描述:

获取存储在Adapter中的所有元素。接口调用会返回元素的数组对象指针,该指针指向的内存数据需要开发者手动释放。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterHandle handle组件适配器对象。
ArkUI_NodeHandle** items适配器内节点数组。
uint32_t* size元素数量。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ERROR_CODE_NATIVE_IMPL_NODE_ADAPTER_NO_LISTENER_ERROR NodeAdapter需要添加监听器。

OH_ArkUI_NodeAdapterEvent_GetUserData()

void* OH_ArkUI_NodeAdapterEvent_GetUserData(ArkUI_NodeAdapterEvent* event)

描述:

获取注册事件时传入的自定义数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。

返回:

类型说明
void*用户自定义数据的指针。

OH_ArkUI_NodeAdapterEvent_GetType()

ArkUI_NodeAdapterEventType OH_ArkUI_NodeAdapterEvent_GetType(ArkUI_NodeAdapterEvent* event)

描述:

获取事件类型。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。

返回:

类型说明
ArkUI_NodeAdapterEventType事件类型。

OH_ArkUI_NodeAdapterEvent_GetRemovedNode()

ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetRemovedNode(ArkUI_NodeAdapterEvent* event)

描述:

获取需要销毁的事件中待销毁的元素。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。

返回:

类型说明
ArkUI_NodeHandle待销毁的元素。

OH_ArkUI_NodeAdapterEvent_GetItemIndex()

uint32_t OH_ArkUI_NodeAdapterEvent_GetItemIndex(ArkUI_NodeAdapterEvent* event)

描述:

获取适配器事件时需要操作的元素序号。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。

返回:

类型说明
uint32_t元素序号。

OH_ArkUI_NodeAdapterEvent_GetHostNode()

ArkUI_NodeHandle OH_ArkUI_NodeAdapterEvent_GetHostNode(ArkUI_NodeAdapterEvent* event)

描述:

获取使用该适配器的滚动类容器节点。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。

返回:

类型说明
ArkUI_NodeHandle适配器的滚动类容器节点。

OH_ArkUI_NodeAdapterEvent_SetItem()

int32_t OH_ArkUI_NodeAdapterEvent_SetItem(ArkUI_NodeAdapterEvent* event, ArkUI_NodeHandle node)

描述:

设置需要新增到Adapter中的组件。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。
ArkUI_NodeHandle node待添加的组件。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeAdapterEvent_SetNodeId()

int32_t OH_ArkUI_NodeAdapterEvent_SetNodeId(ArkUI_NodeAdapterEvent* event, int32_t id)

描述:

设置生成的组件标识。

起始版本: 12

参数:

参数项描述
ArkUI_NodeAdapterEvent* event适配器事件对象。
int32_t id设置返回的组件标识。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure()

ArkUI_LayoutConstraint* OH_ArkUI_NodeCustomEvent_GetLayoutConstraintInMeasure(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取测算过程中的约束尺寸。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
ArkUI_LayoutConstraint*约束尺寸指针。

OH_ArkUI_NodeCustomEvent_GetPositionInLayout()

ArkUI_IntOffset OH_ArkUI_NodeCustomEvent_GetPositionInLayout(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取在布局阶段期望自身相对父组件的位置。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
ArkUI_IntOffset期望自身相对父组件的位置。

OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw()

ArkUI_DrawContext* OH_ArkUI_NodeCustomEvent_GetDrawContextInDraw(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取绘制上下文。请开发者在使用完成后及时释放获取的绘制上下文。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
ArkUI_DrawContext*绘制上下文。

OH_ArkUI_NodeCustomEvent_GetEventTargetId()

int32_t OH_ArkUI_NodeCustomEvent_GetEventTargetId(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取自定义事件ID。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
int32_t自定义事件ID。

OH_ArkUI_NodeCustomEvent_GetUserData()

void* OH_ArkUI_NodeCustomEvent_GetUserData(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取自定义事件参数。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
void*自定义事件参数。

OH_ArkUI_NodeCustomEvent_GetNodeHandle()

ArkUI_NodeHandle OH_ArkUI_NodeCustomEvent_GetNodeHandle(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取组件对象。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
ArkUI_NodeHandle组件对象。

OH_ArkUI_NodeCustomEvent_GetEventType()

ArkUI_NodeCustomEventType OH_ArkUI_NodeCustomEvent_GetEventType(ArkUI_NodeCustomEvent* event)

描述:

通过自定义组件事件获取事件类型。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。

返回:

类型说明
ArkUI_NodeCustomEventType组件自定义事件类型。

OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo()

int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanMeasureInfo(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMeasureInfo* info)

描述:

通过自定义组件事件获取自定义段落组件的测量信息。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。
ArkUI_CustomSpanMeasureInfo* info需要获取的测量信息。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
异常原因:传入参数验证失败,参数不能为空。

OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics()

int32_t OH_ArkUI_NodeCustomEvent_SetCustomSpanMetrics(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanMetrics* metrics)

描述:

通过自定义组件事件设置自定义段落的度量指标。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。
ArkUI_CustomSpanMetrics* metrics需要获取的度量指标信息。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
异常原因:传入参数验证失败,参数不能为空。

OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo()

int32_t OH_ArkUI_NodeCustomEvent_GetCustomSpanDrawInfo(ArkUI_NodeCustomEvent* event, ArkUI_CustomSpanDrawInfo* info)

描述:

通过自定义组件事件获取自定义段落组件的绘制信息。

起始版本: 12

参数:

参数项描述
ArkUI_NodeCustomEvent* event自定义组件事件。
ArkUI_CustomSpanDrawInfo* info需要获取的绘制信息。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
异常原因:传入参数验证失败,参数不能为空。

ArkUI_NodeContentCallback()

typedef void (*ArkUI_NodeContentCallback)(ArkUI_NodeContentEvent* event)

描述:

定义NodeContent事件的回调函数类型。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentEvent* eventNodeContent事件指针。

OH_ArkUI_NodeContent_RegisterCallback()

int32_t OH_ArkUI_NodeContent_RegisterCallback(ArkUI_NodeContentHandle content, ArkUI_NodeContentCallback callback)

描述:

注册NodeContent事件函数。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要注册事件的NodeContent对象。
ArkUI_NodeContentCallback callback事件触发时需要执行的函数回调。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeContentEvent_GetEventType()

ArkUI_NodeContentEventType OH_ArkUI_NodeContentEvent_GetEventType(ArkUI_NodeContentEvent* event)

描述:

获取触发NodeContent事件的事件类型。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentEvent* eventNodeContent事件指针。

返回:

类型说明
ArkUI_NodeContentEventTypeNodeContent事件类型。

OH_ArkUI_NodeContentEvent_GetNodeContentHandle()

ArkUI_NodeContentHandle OH_ArkUI_NodeContentEvent_GetNodeContentHandle(ArkUI_NodeContentEvent* event)

描述:

获取触发事件的NodeContent对象。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentEvent* eventNodeContent事件指针。

返回:

类型说明
ArkUI_NodeContentHandle返回触发事件的NodeContent对象。

OH_ArkUI_NodeContent_SetUserData()

int32_t OH_ArkUI_NodeContent_SetUserData(ArkUI_NodeContentHandle content, void* userData)

描述:

在NodeContent对象上保存自定义数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要保存自定义数据的NodeContent对象。
void* userData要保存的自定义数据。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeContent_GetUserData()

void* OH_ArkUI_NodeContent_GetUserData(ArkUI_NodeContentHandle content)

描述:

获取在NodeContent对象上保存的自定义数据。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要保存自定义数据的NodeContent对象。

返回:

类型说明
void*自定义数据。

OH_ArkUI_NodeContent_AddNode()

int32_t OH_ArkUI_NodeContent_AddNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node)

描述:

将一个ArkUI组件节点添加到对应的NodeContent对象下。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要被添加节点的NodeContent对象。
ArkUI_NodeHandle node需要被添加的节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_IS_ADOPTED 子节点已经被接纳。从API version 22开始支持。

OH_ArkUI_NodeContent_RemoveNode()

int32_t OH_ArkUI_NodeContent_RemoveNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node)

描述:

删除NodeContent对象下的一个ArkUI组件节点。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要被删除节点的NodeContent对象。
ArkUI_NodeHandle node需要被删除的节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeContent_InsertNode()

int32_t OH_ArkUI_NodeContent_InsertNode(ArkUI_NodeContentHandle content, ArkUI_NodeHandle node, int32_t position)

描述:

将一个ArkUI组件节点插入到对应的NodeContent对象的特定位置下。

起始版本: 12

参数:

参数项描述
ArkUI_NodeContentHandle content需要被插入节点的NodeContent对象。
ArkUI_NodeHandle node需要被插入的节点。
int32_t position需要被插入的位置。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_IS_ADOPTED 子节点已经被接纳。从API version 22开始支持。

OH_ArkUI_NodeUtils_GetLayoutSize()

int32_t OH_ArkUI_NodeUtils_GetLayoutSize(ArkUI_NodeHandle node, ArkUI_IntSize* size)

描述:

获取组件布局区域的大小。布局区域大小不包含图形变化属性,如缩放。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntSize* size组件handle的绘制区域尺寸,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetLayoutPosition()

int32_t OH_ArkUI_NodeUtils_GetLayoutPosition(ArkUI_NodeHandle node, ArkUI_IntOffset* localOffset)

描述:

获取组件布局区域相对父组件的位置。布局区域相对位置不包含图形变化属性,如平移。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* localOffset组件handle相对父组件的偏移值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetLayoutPositionInWindow()

int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset)

描述:

获取组件布局区域相对窗口的位置。布局区域相对位置不包含图形变化属性,如平移。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* globalOffset组件handle相对窗口的偏移值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetLayoutPositionInScreen()

int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* screenOffset)

描述:

获取组件布局区域相对屏幕的位置。布局区域相对位置不包含图形变化属性,如平移。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* screenOffset组件handle相对屏幕的偏移值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay()

int32_t OH_ArkUI_NodeUtils_GetLayoutPositionInGlobalDisplay(ArkUI_NodeHandle node, ArkUI_IntOffset* offset)

描述:

获取组件相对于全局屏幕的偏移。布局区域相对位置不包含图形变化属性,如平移。

起始版本: 20

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* offset组件handle相对屏幕的偏移值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow()

int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInWindow(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset)

描述:

获取组件在窗口中的位置,包含了图形平移变化属性。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* translateOffset组件handle自身,父组件及祖先节点的偏移累计值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen()

int32_t OH_ArkUI_NodeUtils_GetPositionWithTranslateInScreen(ArkUI_NodeHandle node, ArkUI_IntOffset* translateOffset)

描述:

获取组件在屏幕中的位置,包含了图形平移变化属性。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
ArkUI_IntOffset* translateOffset组件handle自身,父组件及祖先节点的偏移累计值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_AddCustomProperty()

void OH_ArkUI_NodeUtils_AddCustomProperty(ArkUI_NodeHandle node, const char* name, const char* value)

描述:

设置组件的自定义属性。该接口仅在主线程生效。

起始版本: 13

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
const char* name自定义属性的名称。不允许传入空指针。
const char* value对应key参数名称的自定义属性的值。不允许传入空指针。

OH_ArkUI_NodeUtils_RemoveCustomProperty()

void OH_ArkUI_NodeUtils_RemoveCustomProperty(ArkUI_NodeHandle node, const char* name)

描述:

移除组件已设置的自定义属性。

起始版本: 13

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
const char* name自定义属性的名称。

OH_ArkUI_NodeUtils_GetCustomProperty()

int32_t OH_ArkUI_NodeUtils_GetCustomProperty(ArkUI_NodeHandle node, const char* name, ArkUI_CustomProperty** handle)

描述:

获取组件的自定义属性的值。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
const char* name自定义属性的名称。
ArkUI_CustomProperty** handle获取的对应key参数名称的自定义属性的结构体。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetParentInPageTree()

ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetParentInPageTree(ArkUI_NodeHandle node)

描述:

获取父节点,可获取由ArkTs创建的组件节点。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle node目标节点对象。

返回:

类型说明
ArkUI_NodeHandle组件的指针,如果没有返回NULL。

OH_ArkUI_NodeUtils_GetActiveChildrenInfo()

int32_t OH_ArkUI_NodeUtils_GetActiveChildrenInfo(ArkUI_NodeHandle head, ArkUI_ActiveChildrenInfo** handle)

描述:

获取某个节点所有活跃的子节点。Span将不会被计入子节点的统计中。在LazyForEach场景中,推荐使用OH_ArkUI_NodeUtils_GetChildWithExpandMode接口进行遍历。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle head传入需要获取的节点。
ArkUI_ActiveChildrenInfo** handle对应head节点子节点信息的结构体。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetCurrentPageRootNode()

ArkUI_NodeHandle OH_ArkUI_NodeUtils_GetCurrentPageRootNode(ArkUI_NodeHandle node)

描述:

获取当前页面的根节点。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle node目标节点对象。

返回:

类型说明
ArkUI_NodeHandle根节点的指针,如果没有返回NULL。

OH_ArkUI_NodeUtils_IsCreatedByNDK()

bool OH_ArkUI_NodeUtils_IsCreatedByNDK(ArkUI_NodeHandle node)

描述:

获取组件是否由C-API创建的标签。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle node目标节点对象。

返回:

类型说明
bool节点是否由C-API创建的Tag,true代表由C-API创建,false代表非C-API创建。

OH_ArkUI_NodeUtils_GetNodeType()

int32_t OH_ArkUI_NodeUtils_GetNodeType(ArkUI_NodeHandle node)

描述:

获取节点的类型。

起始版本: 14

参数:

参数项描述
ArkUI_NodeHandle node目标节点对象。

返回:

类型说明
int32_t节点的类型,具体已开放类型参考ArkUI_NodeType,未开放结点返回-1。

OH_ArkUI_NodeUtils_GetWindowInfo()

int32_t OH_ArkUI_NodeUtils_GetWindowInfo(ArkUI_NodeHandle node, ArkUI_HostWindowInfo** info)

描述:

获取节点所属的窗口信息。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点对象。
ArkUI_HostWindowInfo** info窗口信息。使用OH_ArkUI_HostWindowInfo_Destroy释放内存。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE 节点未挂载到节点树上。

OH_ArkUI_NodeUtils_MoveTo()

int32_t OH_ArkUI_NodeUtils_MoveTo(ArkUI_NodeHandle node, ArkUI_NodeHandle target_parent, int32_t index)

描述:

将节点移动到目标父节点下,作为子节点。

起始版本: 18

参数:

参数项描述
ArkUI_NodeHandle node待移动的节点对象。
ArkUI_NodeHandle target_parent目标父节点指针。
int32_t index转移后的节点下标,如果下标值为非法值,则添加在目标父节点的最后一位。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_NODE_IS_ADOPTED 子节点已经被接纳。从API version 22开始支持。

OH_ArkUI_NativeModule_InvalidateAttributes()

int32_t OH_ArkUI_NativeModule_InvalidateAttributes(ArkUI_NodeHandle node)

描述:

在当前帧触发节点属性更新。

当前节点的属性在构建阶段之后被修改,这些改动不会立即生效,而是会延迟到下一帧统一处理。

此功能会强制当前帧内的即时节点更新,确保同步应用渲染效果。

起始版本: 21

参数:

参数项描述
ArkUI_NodeHandle node待更新的节点对象。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_List_CloseAllSwipeActions()

int32_t OH_ArkUI_List_CloseAllSwipeActions(ArkUI_NodeHandle node, void* userData, void (*onFinish)(void* userData))

描述:

收起展开状态下的ListItem。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node需要注册事件的节点对象。
void* userData自定义事件参数,当事件触发时在回调参数中携带回来。
onFinish在收起动画完成后触发的回调。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_ATTRIBUTE_OR_EVENT_NOT_SUPPORTED 组件不支持该事件。

OH_ArkUI_GetContextByNode()

ArkUI_ContextHandle OH_ArkUI_GetContextByNode(ArkUI_NodeHandle node)

描述:

获取当前节点所在页面的UI的上下文实例对象指针。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

返回:

类型说明
ArkUI_ContextHandleUI的上下文实例对象指针。

OH_ArkUI_RegisterSystemColorModeChangeEvent()

int32_t OH_ArkUI_RegisterSystemColorModeChangeEvent(ArkUI_NodeHandle node,void* userData, void (*onColorModeChange)(ArkUI_SystemColorMode colorMode, void* userData))

描述:

注册系统深浅色变更事件。同一组件仅能注册一个系统深浅变更回调。示例请参考:添加事件监听

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
void* userData自定义事件参数,当事件触发时在回调参数中携带回来。
onColorModeChange事件触发后的回调。ArkUI_SystemColorMode用于定义系统深浅色模式。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_UnregisterSystemColorModeChangeEvent()

void OH_ArkUI_UnregisterSystemColorModeChangeEvent(ArkUI_NodeHandle node)

描述:

注销系统深浅色变更事件。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

OH_ArkUI_RegisterSystemFontStyleChangeEvent()

int32_t OH_ArkUI_RegisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node,void* userData, void (*onFontStyleChange)(ArkUI_SystemFontStyleEvent* event, void* userData))

描述:

注册系统字体变更事件。同一组件仅能注册一个系统字体变更回调。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
void* userData自定义事件参数,当事件触发时在回调参数中携带回来。
onFontStyleChange事件触发后的回调。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_UnregisterSystemFontStyleChangeEvent()

void OH_ArkUI_UnregisterSystemFontStyleChangeEvent(ArkUI_NodeHandle node)

描述:

注销系统字体变更事件。

起始版本: 12

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale()

float OH_ArkUI_SystemFontStyleEvent_GetFontSizeScale(const ArkUI_SystemFontStyleEvent* event)

描述:

获取系统字体变更事件的字体大小值。

起始版本: 12

参数:

参数项描述
const ArkUI_SystemFontStyleEvent* event表示指向当前系统字体变更事件的指针。

返回:

类型说明
float更新后的系统字体大小缩放系数。默认值:1.0。

OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale()

float OH_ArkUI_SystemFontStyleEvent_GetFontWeightScale(const ArkUI_SystemFontStyleEvent* event)

描述:

获取系统字体变更事件的字体粗细值。

起始版本: 12

参数:

参数项描述
const ArkUI_SystemFontStyleEvent* event表示指向当前系统字体变更事件的指针。

返回:

类型说明
float更新后的系统字体粗细缩放系数。默认值:1.0。

OH_ArkUI_RegisterLayoutCallbackOnNodeHandle()

int32_t OH_ArkUI_RegisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node,void* userData, void (*onLayoutCompleted)(void* userData))

描述:

注册指定节点的布局完成回调函数。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node指定需要注册回调函数的目标节点。
void* userData执行回调函数时传给回调函数的用户自定义参数。
onLayoutCompleted布局完成时的回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 参数错误。

OH_ArkUI_RegisterDrawCallbackOnNodeHandle()

int32_t OH_ArkUI_RegisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node,void* userData, void (*onDrawCompleted)(void* userData))

描述:

注册指定节点的绘制完成回调函数。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node指定需要注册回调函数的目标节点。
void* userData执行回调函数时传给回调函数的用户自定义参数。
onDrawCompleted绘制完成时的回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 参数错误。

OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle()

int32_t OH_ArkUI_UnregisterLayoutCallbackOnNodeHandle(ArkUI_NodeHandle node)

描述:

取消注册指定节点的布局完成回调函数。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node指定需要取消注册回调函数的目标节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 参数错误。

OH_ArkUI_UnregisterDrawCallbackOnNodeHandle()

int32_t OH_ArkUI_UnregisterDrawCallbackOnNodeHandle(ArkUI_NodeHandle node)

描述:

取消注册指定节点的绘制完成回调函数。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node指定需要取消注册回调函数的目标节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 参数错误。

OH_ArkUI_GetNodeSnapshot()

int32_t OH_ArkUI_GetNodeSnapshot(ArkUI_NodeHandle node, ArkUI_SnapshotOptions* snapshotOptions,OH_PixelmapNative** pixelmap)

描述:

获取给定组件的截图,若节点不在组件树上或尚未渲染,截图操作将会失败。当pixelmap不再使用时,应通过调用OH_PixelmapNative_Release来释放。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node截图的目标节点。
ArkUI_SnapshotOptions* snapshotOptions给定的截图配置,为空时表示默认配置。
截图配置包括缩放属性,色彩空间和动态范围模式配置,从API version 23开始新增支持色彩空间和动态范围模式配置。
其中缩放属性取值为:大于0的浮点数,默认值为1.0。
色彩空间取值为:3(RGB色域为Display P3类型)、4(RGB色域为SRGB类型)、27(RGB色域为DISPLAY BT2020类型),默认值为4。
动态范围模式取值为:ArkUI_DynamicRangeMode,默认值为ARKUI_DYNAMIC_RANGE_MODE_STANDARD。
OH_PixelmapNative** pixelmap通过系统创建的Pixelmap指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_INTERNAL_ERROR 截图失败,将返回空指针。
ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_TIMEOUT 截图超时。
ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_MODE_NOT_SUPPORTED 不支持截图配置中的色彩空间或动态范围模式。
ARKUI_ERROR_CODE_COMPONENT_SNAPSHOT_AUTO_NOT_SUPPORTED 离屏节点截图不支持色彩空间或动态范围模式的isAuto参数设置为true。

OH_ArkUI_GetNodeSnapshotSizeLimitation()

int32_t OH_ArkUI_GetNodeSnapshotSizeLimitation(int32_t* maxWidth, int32_t* maxHeight)

描述:

查询组件截图的尺寸限制。

起始版本: 26.0.0

参数:

参数项描述
int32_t* maxWidth组件截图的最大宽度限制,单位:px。
int32_t* maxHeight组件截图的最大高度限制,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetAttachedNodeHandleById()

int32_t OH_ArkUI_NodeUtils_GetAttachedNodeHandleById(const char* id, ArkUI_NodeHandle* node)

描述:

根据用户id获取目标节点。

起始版本: 15

参数:

参数项描述
const char* id目标节点的id。
ArkUI_NodeHandle* node目标节点的指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId()

int32_t OH_ArkUI_NodeUtils_GetNodeHandleByUniqueId(const uint32_t uniqueId, ArkUI_NodeHandle* node)

描述:

通过uniqueId获取节点。

起始版本: 20

参数:

参数项描述
const uint32_t uniqueId目标节点的uniqueId。
ArkUI_NodeHandle* node目标节点的指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 方法参数错误。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。

OH_ArkUI_NodeUtils_GetNodeUniqueId()

int32_t OH_ArkUI_NodeUtils_GetNodeUniqueId(ArkUI_NodeHandle node, int32_t* uniqueId)

描述:

获取目标节点的uniqueId。

起始版本: 20

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI节点指针。
int32_t* uniqueId目标节点的uniqueId。组件标识ID只读,且进程内唯一,若该节点存在,返回该节点的uniqueId值;否则返回-1。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 方法参数错误。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。

OH_ArkUI_NativeModule_AdoptChild()

int32_t OH_ArkUI_NativeModule_AdoptChild(ArkUI_NodeHandle node, ArkUI_NodeHandle child)

描述:

当前节点接纳目标节点为附属节点。被接纳的节点不能已有父节点。调用该接口实际上不会将其添加为子节点,而是仅允许其接收对应子节点的生命周期回调。

起始版本: 22

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针,指定待接纳节点的父节点。
ArkUI_NodeHandle childArkUI_NodeHandle指针,指定待被接纳的子节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_NODE_HAS_PARENT 被接纳的节点已有父节点。
ARKUI_ERROR_CODE_NODE_CAN_NOT_BE_ADOPTED 节点无法被接纳为附属节点。
ARKUI_ERROR_CODE_NODE_CAN_NOT_ADOPT_TO 节点无法接纳其它附属节点。

OH_ArkUI_NativeModule_RemoveAdoptedChild()

int32_t OH_ArkUI_NativeModule_RemoveAdoptedChild(ArkUI_NodeHandle node, ArkUI_NodeHandle child)

描述:

移除被接纳的目标附属节点。

起始版本: 22

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针,父节点。
ArkUI_NodeHandle childArkUI_NodeHandle指针,将要被移除的子节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_NODE_IS_NOT_IN_ADOPTED_CHILDREN 节点不是被目标节点接纳的附属节点。

OH_ArkUI_NativeModule_IsInRenderState()

int32_t OH_ArkUI_NativeModule_IsInRenderState(ArkUI_NodeHandle node, bool* isInRenderState)

描述:

获取节点是否处于渲染状态,如果一个节点的对应RenderNode在渲染树上,则处于渲染状态。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI节点指针。
bool* isInRenderState节点是否处于渲染状态。true:处于渲染状态;false:不处于渲染状态。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 方法参数异常。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。

OH_ArkUI_NodeUtils_SetCrossLanguageOption()

int32_t OH_ArkUI_NodeUtils_SetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option)

描述:

设置目标节点跨语言设置属性的能力。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点的指针。
ArkUI_CrossLanguageOption* option跨语言配置项 ArkUI_CrossLanguageOption

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetCrossLanguageOption()

int32_t OH_ArkUI_NodeUtils_GetCrossLanguageOption(ArkUI_NodeHandle node, ArkUI_CrossLanguageOption* option)

描述:

获取目标节点跨语言设置属性的配置项。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点的指针。
ArkUI_CrossLanguageOption* option跨语言配置项 ArkUI_CrossLanguageOption

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand()

int32_t OH_ArkUI_NodeUtils_GetFirstChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index)

描述:

获取目标节点在树上的第一个子节点的下标。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点的指针。
uint32_t* index子节点的下标值。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand()

int32_t OH_ArkUI_NodeUtils_GetLastChildIndexWithoutExpand(ArkUI_NodeHandle node, uint32_t* index)

描述:

获取目标节点在树上的最后一个子节点的下标。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点的指针。
uint32_t* index子节点的下标值。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetChildWithExpandMode()

int32_t OH_ArkUI_NodeUtils_GetChildWithExpandMode(ArkUI_NodeHandle node, int32_t position,ArkUI_NodeHandle* subnode, uint32_t expandMode)

描述:

用不同的展开模式获取对应下标的子节点。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点的指针。
int32_t position对应子节点的下标。
ArkUI_NodeHandle* subnode获取子节点的指针。
uint32_t expandMode节点遍历展开方式。 ArkUI_ExpandMode

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeUtils_GetPositionToParent()

int32_t OH_ArkUI_NodeUtils_GetPositionToParent(ArkUI_NodeHandle node, ArkUI_IntOffset* globalOffset)

描述:

获取目标节点相对于父节点的偏移值,单位:px。

起始版本: 15

参数:

参数项描述
ArkUI_NodeHandle node目标节点。
ArkUI_IntOffset* globalOffset目标节点相对父节点的偏移值,单位:px。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_AddSupportedUIStates()

ArkUI_ErrorCode OH_ArkUI_AddSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates,void (statesChangeHandler)(int32_t currentStates, void* userData), bool excludeInner, void* userData)

描述:

设置组件支持的多态样式状态。为了更高效地处理,需传入所关注的状态值及对应的状态处理函数,当关注的状态发生时,处理函数会被执行。可在回调中根据当前状态调整UI样式。当在同一个节点上多次调用该方法时,将以最后一次传入的状态及处理函数为准。有些类型的组件节点,系统内部已有对某些状态的默认处理。例如,Button组件默认具备对PRESSED状态的样式变化,当在此类组件上使用此方法自定义状态处理时,会先应用系统默认样式变化,再执行自定义的样式处理,最终效果为两者叠加。可以通过指定excludeInner为true来禁用系统内部的默认样式效果,但这通常取决于系统内部实现规范是否允许。当调用该函数时,传入的statesChangeHandler函数会立即执行一次,且无需特意注册对NORMAL状态的监听,只要注册了非NORMAL状态,当状态从任意状态变化回NORMAL时,系统都会进行回调,以便应用进行样式复原。

起始版本: 20

参数:

参数项描述
ArkUI_NodeHandle node目标节点。
int32_t uiStates目标节点需要处理的目标UI状态。所有目标UI状态的组合结果可以通过“|”操作来计算。例如:targetUIStates = ArkUI_UIState::PRESSED |ArkUI_UIState::FOCUSED。
void (statesChangeHandler)(int32_t currentStates, void* userData)UI状态改变处理函数。返回当前UI状态,该值是所有当前状态枚举值“|”计算的结果,可以通过执行“&”操作来确定状态。例如:if (currentStates & ArkUI_UIState::PRESSED == ArkUI_UIState::PRESSED)。但是,对于正常状态检查,应直接使用等号。例如:if (currentStates == ArkUI_UIState::NORMAL)
bool excludeInner禁止内部默认状态样式的标志。​​true​​表示禁用系统内部的默认样式,false表示不禁用。
void* userDataonDrawCompleted回调函数中使用的自定义数据。

返回:

类型说明
ArkUI_ErrorCode错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_RemoveSupportedUIStates()

ArkUI_ErrorCode OH_ArkUI_RemoveSupportedUIStates(ArkUI_NodeHandle node, int32_t uiStates)

描述:

删除注册的状态处理。当通过OH_ArkUI_AddSupportedUIStates注册的状态都被删除时,所注册的stateChangeHandler也不会再被执行。

起始版本: 20

参数:

参数项描述
ArkUI_NodeHandle node目标节点。
int32_t uiStates节点需要删除的目标UI状态。

返回:

类型说明
ArkUI_ErrorCode错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_RunTaskInScope()

int32_t OH_ArkUI_RunTaskInScope(ArkUI_ContextHandle uiContext, void* userData, void(*callback)(void* userData))

描述:

在目标UI上下文中执行传入的自定义回调函数。示例请参考:在NDK中保证多实例场景功能正常

起始版本: 20

参数:

参数项描述
ArkUI_ContextHandle uiContext表示目标UI上下文的指针。
void* userData开发者自定义数据指针,以便在回调函数中处理自定义数据,开发者需自行保证自定义函数被执行时的数据有效性。
void(*callback)(void* userData)开发者自定义回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_UI_CONTEXT_INVALID UIContext对象无效。
ARKUI_ERROR_CODE_CALLBACK_INVALID 回调函数无效。

OH_ArkUI_PostAsyncUITask()

int32_t OH_ArkUI_PostAsyncUITask(ArkUI_ContextHandle context, void* asyncUITaskData,
    void (*asyncUITask)(void* asyncUITaskData), void (*onFinish)(void* asyncUITaskData))

描述:

将asyncUITask函数提交至ArkUI框架提供的非UI线程中执行,asyncUITask函数执行完毕后,在UI线程调用onFinish函数。

适用于多线程创建UI组件的场景,开发者可使用此接口在非UI线程创建UI组件,随后在UI线程将创建完成的组件挂载至主树上。

起始版本: 22

参数:

名称描述
ArkUI_ContextHandle contextUI实例对象指针。
void* asyncUITaskData开发者自定义数据指针,作为asyncUITask和onFinish的入参。可以传入空指针。
asyncUITask在非UI线程执行的函数。
onFinishasyncUITask执行完成后,在UI线程执行的函数。可以传入空指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID context对象无效或asyncUITask为空指针。

OH_ArkUI_PostUITask()

int32_t OH_ArkUI_PostUITask(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData))

描述:

将task函数提交至UI线程中执行。

适用于多线程创建UI组件的场景,当开发者在自建的线程中创建UI组件时,可以使用此接口将创建完成的组件挂载到UI线程的主树上。

起始版本: 22

参数:

名称描述
ArkUI_ContextHandle contextUI实例对象指针。
void* taskData开发者自定义数据指针,作为task的入参。可以传入空指针。
task在UI线程执行的函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID context对象无效或task为空指针。

OH_ArkUI_PostUITaskAndWait()

int32_t OH_ArkUI_PostUITaskAndWait(ArkUI_ContextHandle context, void* taskData, void (*task)(void* taskData))

描述:

将task函数提交至UI线程中执行,调用此接口的线程将阻塞,直至task函数执行完成。在UI线程调用此接口等同于同步调用task函数。

适用于多线程创建UI组件的场景,当开发者在多线程创建组件过程中需要调用仅支持UI线程的函数时,使用此接口返回UI线程调用函数,调用完成后继续多线程创建组件。

当UI线程负载较高时,调用此接口的非UI线程可能长时间阻塞,影响多线程创建UI组件的性能,不建议频繁使用。

起始版本: 22

参数:

名称描述
ArkUI_ContextHandle contextUI实例对象指针。
void* taskData开发者自定义数据指针,作为task的入参。可以传入空指针。
task在UI线程执行的函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID context对象无效或task为空指针。

OH_ArkUI_NativeModule_RegisterCommonEvent()

int32_t OH_ArkUI_NativeModule_RegisterCommonEvent(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType, void* userData, void (*callback)(ArkUI_NodeEvent* event))

描述:

注册目标节点的基础事件回调。

当前支持的事件类型如下: 参考ArkUI_NodeEventType中的NODE_ON_CLICK_EVENT、NODE_TOUCH_EVENT、NODE_EVENT_ON_APPEAR、NODE_EVENT_ON_DISAPPEAR、NODE_ON_KEY_EVENT、NODE_ON_FOCUS、NODE_ON_BLUR、NODE_ON_HOVER、NODE_ON_MOUSE、NODE_ON_SIZE_CHANGE。

起始版本: 21

参数:

名称描述
ArkUI_NodeHandle node目标节点。
ArkUI_NodeEventType eventType事件类型。
void* userData开发者自定义的数据指针,以便在回调函数中处理自定义数据,需确保自定义函数执行时数据有效。
callback开发者自定义的回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE 暂不支持该事件类型。

OH_ArkUI_NativeModule_UnregisterCommonEvent()

int32_t OH_ArkUI_NativeModule_UnregisterCommonEvent(ArkUI_NodeHandle node, ArkUI_NodeEventType eventType)

描述:

注销目标节点的基础事件回调。

当前支持的事件类型请参考OH_ArkUI_NativeModule_RegisterCommonEvent

起始版本: 21

参数:

名称描述
ArkUI_NodeHandle node目标节点。
ArkUI_NodeEventType eventType事件类型。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_UNSUPPORTED_EVENT_TYPE 暂不支持该事件类型。

OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent()

int32_t OH_ArkUI_NativeModule_RegisterCommonVisibleAreaApproximateChangeEvent(ArkUI_NodeHandle node, float* ratios, int32_t size, float expectedUpdateInterval, void* userData, void (*callback)(ArkUI_NodeEvent* event))

描述:

注册限制回调间隔的可见区域变化的基础事件回调。

起始版本: 21

参数:

参数项描述
ArkUI_NodeHandle node目标节点。
float* ratios阈值数组,表示组件的可见区域。
int32_t size阈值数组的大小。
float expectedUpdateInterval开发人员预期的计算间隔。
void* userData开发者自定义的数据指针,以便在回调函数中处理自定义数据,需确保自定义函数执行时数据有效。
callback开发者自定义的回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent()

int32_t OH_ArkUI_NativeModule_UnregisterCommonVisibleAreaApproximateChangeEvent(ArkUI_NodeHandle node)

描述:

注销限制回调间隔的可见区域变化的基础事件回调。

起始版本: 21

参数:

参数项描述
ArkUI_NodeHandle node目标节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_FinishAnimation()

int32_t OH_ArkUI_Swiper_FinishAnimation(ArkUI_NodeHandle node)

描述:

停止指定的Swiper节点正在执行的翻页动画。

起始版本: 22

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_SetForceDarkConfig()

int32_t OH_ArkUI_SetForceDarkConfig(ArkUI_ContextHandle uiContext, bool forceDark, ArkUI_NodeType nodeType, uint32_t (*colorInvertFunc)(uint32_t color))

描述:

为组件和实例设置反色算法。详细介绍请参考:利用反色能力快速适配深色模式

起始版本: 20

参数:

参数项描述
ArkUI_ContextHandle uiContextUI实例对象指针。
如果该值为null,则该功能适用于整个应用进程。
bool forceDark是否使用反色能力。取值为true:组件使用反色能力,取值为false:组件不使用反色能力。
ArkUI_NodeType nodeType指定使用反色能力生效组件范围。
ARKUI_NODE_UNDEFINED代表对所有组件类型生效。
colorInvertFunc开发者自定义反色算法函数。
如果该值为nullptr,则对组件使用系统默认反色算法,即三原色取反。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_FORCE_DARK_CONFIG_INVALID 反色能力入参错误。

OH_ArkUI_NodeEvent_GetTouchTestInfo()

ArkUI_TouchTestInfo* OH_ArkUI_NodeEvent_GetTouchTestInfo(ArkUI_NodeEvent* nodeEvent)

描述:

获取组件事件中的触摸测试信息。

起始版本: 22

参数:

参数项描述
ArkUI_NodeEvent* nodeEvent组件事件指针。

返回:

类型说明
ArkUI_TouchTestInfo*返回指向ArkUI_TouchTestInfo对象的指针。若传入的参数无效或并非触摸测试信息,则返回null。

OH_ArkUI_NodeEvent_GetTextEditorOnWillChangeEvent()

OH_ArkUI_TextEditorChangeEvent* OH_ArkUI_NodeEvent_GetTextEditorOnWillChangeEvent(ArkUI_NodeEvent* event)

描述

获取组件事件中的TextEditor组件文本内容变化数据。

起始版本: 24

参数:

参数项描述
ArkUI_NodeEvent* event指向ArkUI_NodeEvent组件事件对象的指针。

返回:

类型说明
OH_ArkUI_TextEditorChangeEvent*指向OH_ArkUI_TextEditorChangeEvent数据对象的指针。
若传入的参数无效或并非TextEditor组件文本内容变化事件信息,则返回null

OH_ArkUI_NativeModule_ConvertPositionToWindow()

int32_t OH_ArkUI_NativeModule_ConvertPositionToWindow(ArkUI_NodeHandle currentNode, ArkUI_IntOffset localPosition, ArkUI_IntOffset* windowPosition)

描述:

将点的坐标从指定节点的坐标系转换至当前窗口的坐标系。节点的坐标系考虑节点本身的变换,例如,节点A的变换效果为向左平移100,会使得其坐标系中的点的坐标也向左平移100。

如上图所示,将指定节点坐标系中的坐标(x0, y0)转换成窗口坐标系的坐标,结果为(x1, y1)。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle currentNode指定节点。
ArkUI_IntOffset localPosition点在指定节点坐标系中的坐标,单位:px。
ArkUI_IntOffset* windowPosition指向接收转换后坐标(位于当前窗口坐标系中,单位:px)的指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE 节点未挂载到节点树上。

OH_ArkUI_NativeModule_ConvertPositionFromWindow()

int32_t OH_ArkUI_NativeModule_ConvertPositionFromWindow(ArkUI_NodeHandle targetNode, ArkUI_IntOffset windowPosition, ArkUI_IntOffset* localPosition)

描述:

将点的坐标从当前窗口的坐标系转换至目标节点的坐标系。节点的坐标系考虑节点本身的变换,例如,节点A的变换效果为向左平移100,会使得其坐标系中的点的坐标也向左平移100。

如上图所示,将窗口坐标系中的坐标(x1, y1)转换成目标节点坐标系的坐标,结果为(x0, y0)。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle targetNode目标节点。
ArkUI_IntOffset windowPosition点在当前窗口坐标系中的坐标,单位:px。
ArkUI_IntOffset* localPosition指向接收转换后坐标(位于目标节点坐标系中,单位:px)的指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。
ARKUI_ERROR_CODE_NODE_NOT_ON_MAIN_TREE 节点未挂载到节点树上。

OH_ArkUI_Swiper_StartFakeDrag()

int32_t OH_ArkUI_Swiper_StartFakeDrag(ArkUI_NodeHandle node, bool* isSuccessful)

描述

启动Swiper节点的模拟拖拽操作。调用OH_ArkUI_Swiper_FakeDragBy模拟拖拽动作。调用OH_ArkUI_Swiper_StopFakeDrag停止模拟拖拽。
模拟拖拽操作可以被真实拖拽操作打断。如果需要在模拟拖拽期间忽略用户的拖拽事件,请使用NODE_SWIPER_DISABLE_SWIPE

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
bool* isSuccessful模拟拖拽操作是否成功启动。如果模拟拖拽操作成功启动,则返回true。
如果Swiper尚未准备好启动模拟拖拽操作,或者真实拖拽或模拟拖拽操作已在进行中,则返回false。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_FakeDragBy()

int32_t OH_ArkUI_Swiper_FakeDragBy(ArkUI_NodeHandle node, float offset, bool* isConsumedOffset)

描述

通过设置Swiper节点的偏移量模拟拖拽效果。该接口调用前,必须先调用OH_ArkUI_Swiper_StartFakeDrag启动模拟拖拽。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
float offset需要拖拽的偏移量。单位是vp。
bool* isConsumedOffset是否消耗偏移量触发拖拽。如果消耗偏移量触发拖拽,则返回true。
如果未处于模拟拖拽进度,或者未消耗任何偏移量,则返回false。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_StopFakeDrag()

int32_t OH_ArkUI_Swiper_StopFakeDrag(ArkUI_NodeHandle node, bool* isSuccessful)

描述

停止对Swiper节点的模拟拖拽。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
bool* isSuccessful模拟拖拽操作是否成功停止。如果模拟拖拽成功停止,则返回true。
如果Swiper尚未准备好停止模拟拖拽,或者没有正在进行的模拟拖拽,则返回false。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_IsFakeDragging()

int32_t OH_ArkUI_Swiper_IsFakeDragging(ArkUI_NodeHandle node, bool* isFakeDragging)

描述

获取Swiper节点的模拟拖拽状态。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。
bool* isFakeDragging是否处于模拟拖拽状态。如果正在进行模拟拖拽操作,则返回true,否则返回false。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_ShowPrevious()

int32_t OH_ArkUI_Swiper_ShowPrevious(ArkUI_NodeHandle node)

描述

显示Swiper节点的上一页。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_Swiper_ShowNext()

int32_t OH_ArkUI_Swiper_ShowNext(ArkUI_NodeHandle node)

描述

显示Swiper节点的下一页。

起始版本: 23

参数:

参数项描述
ArkUI_NodeHandle node指定的节点。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NativeModule_GetPageRootNodeHandleByContext()

 int32_t OH_ArkUI_NativeModule_GetPageRootNodeHandleByContext(ArkUI_ContextHandle context, ArkUI_NodeHandle* rootNode)

描述

获取指定实例的页面的根节点。

起始版本: 24

参数:

参数项描述
ArkUI_ContextHandle contextUI实例对象指针。
ArkUI_NodeHandle* rootNode目标根节点的句柄。如果上下文对应的页面没有根节点,则所指向的值将被设置为null。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 成功。
ARKUI_ERROR_CODE_CAPI_INIT_ERROR CAPI初始化错误。
ARKUI_ERROR_CODE_UI_CONTEXT_INVALID 实例异常。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NativeModule_RegisterCommonAreaApproximateChangeEvent()

int32_t OH_ArkUI_NativeModule_RegisterCommonAreaApproximateChangeEvent(ArkUI_NodeHandle node, float expectedUpdateInterval, void* userData, void (*callback)(ArkUI_NodeEvent* event))

描述

注册组件尺寸与区域变化的监听事件。可在任意时机对有效的ArkUI_NodeHandle组件节点调用该函数。新注册的回调会替换该事件此前已注册的回调,并从下一帧开始生效。当回调不再需要时,请调用OH_ArkUI_NativeModule_UnregisterCommonAreaApproximateChangeEvent进行注销。否则,回调会在节点释放时自动注销。

起始版本: 26.0.0

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。
float expectedUpdateInterval开发者期望的计算区域变化触发回调的间隔,单位为ms。
void* userData自定义数据指针。
void (*callback) (ArkUI_NodeEvent *event)事件回调函数。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 操作成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NativeModule_UnregisterCommonAreaApproximateChangeEvent()

int32_t OH_ArkUI_NativeModule_UnregisterCommonAreaApproximateChangeEvent(ArkUI_NodeHandle node)

描述

解除组件上的尺寸与区域变化监听回调绑定。

起始版本: 26.0.0

参数:

参数项描述
ArkUI_NodeHandle nodeArkUI_NodeHandle指针。

返回:

类型说明
int32_t错误码。
ARKUI_ERROR_CODE_NO_ERROR 操作成功。
ARKUI_ERROR_CODE_PARAM_INVALID 函数参数异常。

OH_ArkUI_NodeEvent_GetGestureCollectInterceptInfo()

ArkUI_GestureCollectInterceptInfo* OH_ArkUI_NodeEvent_GetGestureCollectInterceptInfo(ArkUI_NodeEvent* nodeEvent)

描述

从指定的ArkUI_NodeEvent对象中获取ArkUI_GestureCollectInterceptInfo对象。

起始版本: 26.0.0

参数:

参数项描述
ArkUI_NodeEvent* nodeEvent表示指向ArkUI_NodeEvent对象的指针。

返回:

类型说明
ArkUI_GestureCollectInterceptInfo*返回指向ArkUI_GestureCollectInterceptInfo对象的指针。仅在回调期间有效,无需释放。
如果传入的参数无效,或者不是手势收集拦截信息,则返回null

更多

你可能感兴趣的鸿蒙文章

openharmony 鸿蒙 arkts-apis-uicontext-contextmenucontroller

openharmony 鸿蒙 errorcode-canvas

openharmony 鸿蒙 capi-oh-nativexcomponent-native-xcomponent-oh-nativexcomponent

openharmony 鸿蒙 errorcode-bindSheet

openharmony 鸿蒙 js-apis-arkui-uiExtension-sys

openharmony 鸿蒙 capi-arkui-accessibility-arkui-accessibilityeventinfo

openharmony 鸿蒙 capi-arkui-rendernodeutils

openharmony 鸿蒙 capi-native-node-h-nodeattributetype-layoutcomponent

openharmony 鸿蒙 js-apis-arkui-node

openharmony 鸿蒙 capi-arkui-nativemodule-arkui-listitemswipeactionitem

  • 所属分类: 后端技术
  • 本文标签: 软件 鸿蒙
  • 版权声明: 本文链接 https://seaxiang.com/blog/toipLZUY