1# native_animate.h 2 3 4## Overview 5 6Defines a set of animation APIs of ArkUI on the native side. 7 8**Library**: libace_ndk.z.so 9 10**File to include**: <arkui/native_animate.h> 11 12**System capability**: SystemCapability.ArkUI.ArkUI.Full 13 14**Since**: 12 15 16**Related module**: [ArkUI_NativeModule](_ark_u_i___native_module.md) 17 18 19## Summary 20 21 22### Structs 23 24| Name| Description| 25| -------- | -------- | 26| struct [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md) | Defines a struct for the expected frame rate range of the animation. | 27| struct [ArkUI_AnimateCompleteCallback](_ark_u_i___animate_complete_callback.md) | Defines a struct for the callback type for when the animation playback is complete. | 28| struct [ArkUI_NativeAnimateAPI_1](_ark_u_i___native_animate_a_p_i__1.md) | Defines a struct for the animation APIs of ArkUI on the native side. | 29 30 31### Types 32 33| Name| Description| 34| -------- | -------- | 35| typedef struct [ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) [ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) | Defines a struct for the animation configuration. | 36| typedef struct [ArkUI_Curve](_ark_u_i___native_module.md) [ArkUI_Curve](_ark_u_i___native_module.md) | Defines an interpolation curve. | 37| typedef struct [ArkUI_Curve](_ark_u_i___native_module.md) \* [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) | Defines a struct for the pointer to an interpolation curve. | 38| typedef struct [ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) [ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) | Defines the keyframe animation parameter object. | 39| typedef struct [ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) [ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) | Defines the animator parameter object. | 40| typedef struct [ArkUI_AnimatorEvent](_ark_u_i___native_module.md) [ArkUI_AnimatorEvent](_ark_u_i___native_module.md) | Defines the animator callback event object. | 41| typedef struct [ArkUI_AnimatorOnFrameEvent](_ark_u_i___native_module.md) [ArkUI_AnimatorOnFrameEvent](_ark_u_i___native_module.md) | Defines the callback object when the animator receives a frame. | 42| typedef struct ArkUI_Animator \* [ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) | Defines the pointer to an animator object. | 43| typedef struct [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) | Defines the transition effect. | 44 45 46### Callback 47 48| Name| Description| 49| -------- | -------- | 50| [ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \* [OH_ArkUI_AnimateOption_Create](_ark_u_i___native_module.md#oh_arkui_animateoption_create) () | Creates an animation configuration. | 51| void [OH_ArkUI_AnimateOption_Dispose](_ark_u_i___native_module.md#oh_arkui_animateoption_dispose) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Disposes of an animation configuration. | 52| uint32_t [OH_ArkUI_AnimateOption_GetDuration](_ark_u_i___native_module.md#oh_arkui_animateoption_getduration) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the animation duration, in milliseconds. | 53| float [OH_ArkUI_AnimateOption_GetTempo](_ark_u_i___native_module.md#oh_arkui_animateoption_gettempo) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the playback speed of an animation. | 54| [ArkUI_AnimationCurve](_ark_u_i___native_module.md#arkui_animationcurve) [OH_ArkUI_AnimateOption_GetCurve](_ark_u_i___native_module.md#oh_arkui_animateoption_getcurve) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains an animation curve. | 55| int32_t [OH_ArkUI_AnimateOption_GetDelay](_ark_u_i___native_module.md#oh_arkui_animateoption_getdelay) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the animation delay, in milliseconds. | 56| int32_t [OH_ArkUI_AnimateOption_GetIterations](_ark_u_i___native_module.md#oh_arkui_animateoption_getiterations) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the number of times that an animation is played. | 57| [ArkUI_AnimationPlayMode](_ark_u_i___native_module.md#arkui_animationplaymode) [OH_ArkUI_AnimateOption_GetPlayMode](_ark_u_i___native_module.md#oh_arkui_animateoption_getplaymode) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the playback mode of an animation. | 58| [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md) \* [OH_ArkUI_AnimateOption_GetExpectedFrameRateRange](_ark_u_i___native_module.md#oh_arkui_animateoption_getexpectedframeraterange) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the expected frame rate range of an animation. | 59| void [OH_ArkUI_AnimateOption_SetDuration](_ark_u_i___native_module.md#oh_arkui_animateoption_setduration) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, int32_t value) | Sets the animation duration. | 60| void [OH_ArkUI_AnimateOption_SetTempo](_ark_u_i___native_module.md#oh_arkui_animateoption_settempo) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, float value) | Sets the playback speed of an animation. | 61| void [OH_ArkUI_AnimateOption_SetCurve](_ark_u_i___native_module.md#oh_arkui_animateoption_setcurve) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, [ArkUI_AnimationCurve](_ark_u_i___native_module.md#arkui_animationcurve) value) | Animation curve. | 62| void [OH_ArkUI_AnimateOption_SetDelay](_ark_u_i___native_module.md#oh_arkui_animateoption_setdelay) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, int32_t value) | Sets the animation delay. | 63| void [OH_ArkUI_AnimateOption_SetIterations](_ark_u_i___native_module.md#oh_arkui_animateoption_setiterations) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, int32_t value) | Sets the number of times that an animation is played. | 64| void [OH_ArkUI_AnimateOption_SetPlayMode](_ark_u_i___native_module.md#oh_arkui_animateoption_setplaymode) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, [ArkUI_AnimationPlayMode](_ark_u_i___native_module.md#arkui_animationplaymode) value) | Sets the playback mode for an animation. | 65| void [OH_ArkUI_AnimateOption_SetExpectedFrameRateRange](_ark_u_i___native_module.md#oh_arkui_animateoption_setexpectedframeraterange) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md) \*value) | Defines a struct for the expected frame rate range of the animation. | 66| void [OH_ArkUI_AnimateOption_SetICurve](_ark_u_i___native_module.md#oh_arkui_animateoption_seticurve) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option, [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) value) | Sets the animation curve for an animation. | 67| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_AnimateOption_GetICurve](_ark_u_i___native_module.md#oh_arkui_animateoption_geticurve) ([ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*option) | Obtains the animation curve of an animation. | 68| [ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \* [OH_ArkUI_KeyframeAnimateOption_Create](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_create) (int32_t size) | Obtains the keyframe animation parameters. | 69| void [OH_ArkUI_KeyframeAnimateOption_Dispose](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_dispose) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option) | Disposes of a keyframe animation parameter object. | 70| int32_t [OH_ArkUI_KeyframeAnimateOption_SetDelay](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_setdelay) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, int32_t value) | Sets the overall delay of a keyframe animation, in milliseconds. By default, the keyframe animation is played without delay. | 71| int32_t [OH_ArkUI_KeyframeAnimateOption_SetIterations](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_setiterations) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, int32_t value) | Sets the number of times that the keyframe animation is played. By default, the animation is played once. The value **-1** indicates that the animation is played for an unlimited number of times. The value **0** indicates that there is no animation. | 72| int32_t [OH_ArkUI_KeyframeAnimateOption_RegisterOnFinishCallback](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_registeronfinishcallback) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, void \*userData, void(\*onFinish)(void \*userData)) | Sets the callback invoked when the keyframe animation playback is complete. This API is called after the keyframe animation has played for the specified number of times. | 73| int32_t [OH_ArkUI_KeyframeAnimateOption_SetDuration](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_setduration) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, int32_t value, int32_t index) | Sets the duration of a keyframe animation, in milliseconds. | 74| int32_t [OH_ArkUI_KeyframeAnimateOption_SetCurve](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_setcurve) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) value, int32_t index) | Sets the animation curve for a specific keyframe in a keyframe animation. | 75| int32_t [OH_ArkUI_KeyframeAnimateOption_RegisterOnEventCallback](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_registeroneventcallback) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, void \*userData, void(\*event)(void \*userData), int32_t index) | Sets the closure function of the state at the time of the keyframe, that is, the state to be reached at the time of the keyframe. | 76| int32_t [OH_ArkUI_KeyframeAnimateOption_GetDelay](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_getdelay) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option) | Obtains the overall delay of a keyframe animation | 77| int32_t [OH_ArkUI_KeyframeAnimateOption_GetIterations](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_getiterations) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option) | Obtains the number of times that a keyframe animation is played. | 78| int32_t [OH_ArkUI_KeyframeAnimateOption_GetDuration](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_getduration) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, int32_t index) | Obtains the duration of a specific state in a keyframe animation. | 79| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_KeyframeAnimateOption_GetCurve](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_getcurve) ([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption) \*option, int32_t index) | Obtains the animation curve of a specific state in a keyframe animation. | 80| [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md)* [OH_ArkUI_KeyframeAnimateOption_GetExpectedFrameRate](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_getexpectedframerate)([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption)* option) | Obtains the expected frame rate from keyframe animation parameters.<br>**Since**: 19 | 81| int32_t [OH_ArkUI_KeyframeAnimateOption_SetExpectedFrameRate](_ark_u_i___native_module.md#oh_arkui_keyframeanimateoption_setexpectedframerate)([ArkUI_KeyframeAnimateOption](_ark_u_i___native_module.md#arkui_keyframeanimateoption)* option, [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md)* frameRate) | Sets the expected frame rate for a keyframe animation.<br>**Since**: 19| 82| [ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \* [OH_ArkUI_AnimatorOption_Create](_ark_u_i___native_module.md#oh_arkui_animatoroption_create) (int32_t keyframeSize) | Creates an **AnimatorOption** object. | 83| void [OH_ArkUI_AnimatorOption_Dispose](_ark_u_i___native_module.md#oh_arkui_animatoroption_dispose) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Disposes of an **AnimatorOption** object. | 84| int32_t [OH_ArkUI_AnimatorOption_SetDuration](_ark_u_i___native_module.md#oh_arkui_animatoroption_setduration) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t value) | Sets the duration of an animation, in milliseconds. | 85| int32_t [OH_ArkUI_AnimatorOption_SetDelay](_ark_u_i___native_module.md#oh_arkui_animatoroption_setdelay) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t value) | Sets the delay of animation playback, in milliseconds. | 86| int32_t [OH_ArkUI_AnimatorOption_SetIterations](_ark_u_i___native_module.md#oh_arkui_animatoroption_setiterations) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t value) | Sets the number of times that an animation is played. The value **0** means not to play the animation, and **-1** means to play the animation for an unlimited number of times. | 87| int32_t [OH_ArkUI_AnimatorOption_SetFill](_ark_u_i___native_module.md#oh_arkui_animatoroption_setfill) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, [ArkUI_AnimationFillMode](_ark_u_i___native_module.md#arkui_animationfillmode) value) | Sets whether the animator animation is restored to the initial state after being executed. | 88| int32_t [OH_ArkUI_AnimatorOption_SetDirection](_ark_u_i___native_module.md#oh_arkui_animatoroption_setdirection) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, [ArkUI_AnimationDirection](_ark_u_i___native_module.md#arkui_animationdirection) value) | Set the playback direction. | 89| int32_t [OH_ArkUI_AnimatorOption_SetCurve](_ark_u_i___native_module.md#oh_arkui_animatoroption_setcurve) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) value) | Sets the interpolation curve for the animation of an animator. | 90| int32_t [OH_ArkUI_AnimatorOption_SetBegin](_ark_u_i___native_module.md#oh_arkui_animatoroption_setbegin) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, float value) | Sets the interpolation start point of an animation. | 91| int32_t [OH_ArkUI_AnimatorOption_SetEnd](_ark_u_i___native_module.md#oh_arkui_animatoroption_setend) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, float value) | Sets the interpolation end point for the animation of an animator. | 92| int32_t [OH_ArkUI_AnimatorOption_SetExpectedFrameRateRange](_ark_u_i___native_module.md#oh_arkui_animatoroption_setexpectedframeraterange) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md) \*value) | Sets the expected frame rate range of an animation. | 93| int32_t [OH_ArkUI_AnimatorOption_SetKeyframe](_ark_u_i___native_module.md#oh_arkui_animatoroption_setkeyframe) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, float time, float value, int32_t index) | Sets the keyframe parameters of an animation. | 94| int32_t [OH_ArkUI_AnimatorOption_SetKeyframeCurve](_ark_u_i___native_module.md#oh_arkui_animatoroption_setkeyframecurve) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) value, int32_t index) | Sets the keyframe curve type for the animation of an animator. | 95| int32_t [OH_ArkUI_AnimatorOption_GetDuration](_ark_u_i___native_module.md#oh_arkui_animatoroption_getduration) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the duration for playing an animation. | 96| int32_t [OH_ArkUI_AnimatorOption_GetDelay](_ark_u_i___native_module.md#oh_arkui_animatoroption_getdelay) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the delay for playing an animation. | 97| int32_t [OH_ArkUI_AnimatorOption_GetIterations](_ark_u_i___native_module.md#oh_arkui_animatoroption_getiterations) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the number of times that an animation is played. | 98| [ArkUI_AnimationFillMode](_ark_u_i___native_module.md#arkui_animationfillmode) [OH_ArkUI_AnimatorOption_GetFill](_ark_u_i___native_module.md#oh_arkui_animatoroption_getfill) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains whether the animator animation is restored to the initial state after being executed. | 99| [ArkUI_AnimationDirection](_ark_u_i___native_module.md#arkui_animationdirection) [OH_ArkUI_AnimatorOption_GetDirection](_ark_u_i___native_module.md#oh_arkui_animatoroption_getdirection) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the playback direction of an animation. | 100| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_AnimatorOption_GetCurve](_ark_u_i___native_module.md#oh_arkui_animatoroption_getcurve) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the interpolation curve of the animation of an animator. | 101| float [OH_ArkUI_AnimatorOption_GetBegin](_ark_u_i___native_module.md#oh_arkui_animatoroption_getbegin) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the interpolation start point of an animation. | 102| float [OH_ArkUI_AnimatorOption_GetEnd](_ark_u_i___native_module.md#oh_arkui_animatoroption_getend) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the interpolation end point of an animation. | 103| [ArkUI_ExpectedFrameRateRange](_ark_u_i___expected_frame_rate_range.md) \* [OH_ArkUI_AnimatorOption_GetExpectedFrameRateRange](_ark_u_i___native_module.md#oh_arkui_animatoroption_getexpectedframeraterange) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Obtains the expected frame rate range of an animation. | 104| float [OH_ArkUI_AnimatorOption_GetKeyframeTime](_ark_u_i___native_module.md#oh_arkui_animatoroption_getkeyframetime) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t index) | Obtains the keyframe time of an animation. | 105| float [OH_ArkUI_AnimatorOption_GetKeyframeValue](_ark_u_i___native_module.md#oh_arkui_animatoroption_getkeyframevalue) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t index) | Obtains the keyframe value of an animation. | 106| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_AnimatorOption_GetKeyframeCurve](_ark_u_i___native_module.md#oh_arkui_animatoroption_getkeyframecurve) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, int32_t index) | Obtains the interpolation curve for a keyframe in the animation of an animator. | 107| void \* [OH_ArkUI_AnimatorEvent_GetUserData](_ark_u_i___native_module.md#oh_arkui_animatorevent_getuserdata) (ArkUI_AnimatorEvent \*event) | Obtains the custom object in an animation event object. | 108| void \* [OH_ArkUI_AnimatorOnFrameEvent_GetUserData](_ark_u_i___native_module.md#oh_arkui_animatoronframeevent_getuserdata) (ArkUI_AnimatorOnFrameEvent \*event) | Obtains the custom object in an animation event object. | 109| float [OH_ArkUI_AnimatorOnFrameEvent_GetValue](_ark_u_i___native_module.md#oh_arkui_animatoronframeevent_getvalue) (ArkUI_AnimatorOnFrameEvent \*event) | Obtains the current progress in an animation event object. | 110| int32_t [OH_ArkUI_AnimatorOption_RegisterOnFrameCallback](_ark_u_i___native_module.md#oh_arkui_animatoroption_registeronframecallback) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, void \*userData, void(\*callback)(ArkUI_AnimatorOnFrameEvent \*event)) | Sets the callback invoked when the animator receives a frame. | 111| int32_t [OH_ArkUI_AnimatorOption_RegisterOnFinishCallback](_ark_u_i___native_module.md#oh_arkui_animatoroption_registeronfinishcallback) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, void \*userData, void(\*callback)(ArkUI_AnimatorEvent \*event)) | Sets the callback invoked when the animation playback is complete. | 112| int32_t [OH_ArkUI_AnimatorOption_RegisterOnCancelCallback](_ark_u_i___native_module.md#oh_arkui_animatoroption_registeroncancelcallback) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, void \*userData, void(\*callback)(ArkUI_AnimatorEvent \*event)) | Sets the callback invoked when the animation playback is canceled. | 113| int32_t [OH_ArkUI_AnimatorOption_RegisterOnRepeatCallback](_ark_u_i___native_module.md#oh_arkui_animatoroption_registeronrepeatcallback) ([ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option, void \*userData, void(\*callback)(ArkUI_AnimatorEvent \*event)) | Sets the callback invoked when the animation playback is repeated. | 114| int32_t [OH_ArkUI_Animator_ResetAnimatorOption](_ark_u_i___native_module.md#oh_arkui_animator_resetanimatoroption) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator, [ArkUI_AnimatorOption](_ark_u_i___native_module.md#arkui_animatoroption) \*option) | Resets an animator configuration. | 115| int32_t [OH_ArkUI_Animator_Play](_ark_u_i___native_module.md#oh_arkui_animator_play) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator) | Starts the animation of an animator. | 116| int32_t [OH_ArkUI_Animator_Finish](_ark_u_i___native_module.md#oh_arkui_animator_finish) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator) | Ends the animation of an animator. | 117| int32_t [OH_ArkUI_Animator_Pause](_ark_u_i___native_module.md#oh_arkui_animator_pause) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator) | Pauses the animation of an animator. | 118| int32_t [OH_ArkUI_Animator_Cancel](_ark_u_i___native_module.md#oh_arkui_animator_cancel) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator) | Cancels the animation of an animator. | 119| int32_t [OH_ArkUI_Animator_Reverse](_ark_u_i___native_module.md#oh_arkui_animator_reverse) ([ArkUI_AnimatorHandle](_ark_u_i___native_module.md#arkui_animatorhandle) animator) | Plays this animation in reverse order. | 120| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateCurveByType](_ark_u_i___native_module.md#oh_arkui_curve_createcurvebytype) ([ArkUI_AnimationCurve](_ark_u_i___native_module.md#arkui_animationcurve) curve) | Implements initialization for the interpolation curve, which is used to create an interpolation curve based on the input parameter. | 121| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateStepsCurve](_ark_u_i___native_module.md#oh_arkui_curve_createstepscurve) (int32_t count, bool end) | Creates a step curve. | 122| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateCubicBezierCurve](_ark_u_i___native_module.md#oh_arkui_curve_createcubicbeziercurve) (float x1, float y1, float x2, float y2) | Creates a cubic Bezier curve. | 123| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateSpringCurve](_ark_u_i___native_module.md#oh_arkui_curve_createspringcurve) (float velocity, float mass, float stiffness, float damping) | Creates a spring curve. The curve shape is subject to the spring parameters, and the animation duration is subject to the **duration** parameter in **animation** and **animateTo**. | 124| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateSpringMotion](_ark_u_i___native_module.md#oh_arkui_curve_createspringmotion) (float response, float dampingFraction, float overlapDuration) | Creates a spring animation curve. If multiple spring animations are applied to the same attribute of an object, each animation replaces their predecessor and inherits the velocity. | 125| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateResponsiveSpringMotion](_ark_u_i___native_module.md#oh_arkui_curve_createresponsivespringmotion) (float response, float dampingFraction, float overlapDuration) | Creates a responsive spring animation curve. It is a special case of **springMotion**, with the only difference in the default values. It can be used together with **springMotion**. | 126| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateInterpolatingSpring](_ark_u_i___native_module.md#oh_arkui_curve_createinterpolatingspring) (float velocity, float mass, float stiffness, float damping) | Creates an interpolating spring curve animated from 0 to 1. The actual animation value is calculated based on the curve. | 127| [ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) [OH_ArkUI_Curve_CreateCustomCurve](_ark_u_i___native_module.md#oh_arkui_curve_createcustomcurve) (void \*userData, float(\*interpolate)(float fraction, void \*userdata)) | Creates a custom curve. | 128| void [OH_ArkUI_Curve_DisposeCurve](_ark_u_i___native_module.md#oh_arkui_curve_disposecurve) ([ArkUI_CurveHandle](_ark_u_i___native_module.md#arkui_curvehandle) curveHandle) | Disposes of a custom curve. | 129| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateOpacityTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createopacitytransitioneffect) (float opacity) | Creates an opacity object for component transition. | 130| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateTranslationTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createtranslationtransitioneffect) ([ArkUI_TranslationOptions](_ark_u_i___translation_options.md) \*translate) | Creates a translation object for component transition. | 131| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateScaleTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createscaletransitioneffect) ([ArkUI_ScaleOptions](_ark_u_i___scale_options.md) \*scale) | Creates a scaling object for component transition. | 132| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateRotationTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createrotationtransitioneffect) ([ArkUI_RotationOptions](_ark_u_i___rotation_options.md) \*rotate) | Creates a rotation object for component transition. | 133| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateMovementTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createmovementtransitioneffect) ([ArkUI_TransitionEdge](_ark_u_i___native_module.md#arkui_transitionedge) move) | Creates a movement object for component transition. | 134| [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \* [OH_ArkUI_CreateAsymmetricTransitionEffect](_ark_u_i___native_module.md#oh_arkui_createasymmetrictransitioneffect) ([ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*appear, [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*disappear) | Creates an asymmetric transition effect. | 135| void [OH_ArkUI_TransitionEffect_Dispose](_ark_u_i___native_module.md#oh_arkui_transitioneffect_dispose) ([ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*option) | Disposes of a transition effect. | 136| int32_t [OH_ArkUI_TransitionEffect_Combine](_ark_u_i___native_module.md#oh_arkui_transitioneffect_combine) ([ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*option, [ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*combine) | Sets a combination of transition effects. | 137| int32_t [OH_ArkUI_TransitionEffect_SetAnimation](_ark_u_i___native_module.md#oh_arkui_transitioneffect_setanimation) ([ArkUI_TransitionEffect](_ark_u_i___native_module.md#arkui_transitioneffect) \*option, [ArkUI_AnimateOption](_ark_u_i___native_module.md#arkui_animateoption) \*animation) | Sets transition effect animation settings. | 138