harmony 鸿蒙native_animate.h

  • 2025-06-12
  • 浏览 (3)

native_animate.h

概述

提供ArkUI在Native侧的动画接口定义集合。

库: libace_ndk.z.so

引用文件:

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

起始版本: 12

相关模块:ArkUI_NativeModule

汇总

结构体

名称 描述
struct  ArkUI_ExpectedFrameRateRange 设置动画的期望帧率。
struct  ArkUI_AnimateCompleteCallback 动画播放完成回调类型。
struct  ArkUI_NativeAnimateAPI_1 ArkUI提供的Native侧动画接口集合。

类型定义

名称 描述
typedef struct ArkUI_AnimateOption ArkUI_AnimateOption 设置动画效果相关参数。
typedef struct ArkUI_Curve * ArkUI_CurveHandle 定义曲线的插值对象指针定义。
typedef struct ArkUI_KeyframeAnimateOption ArkUI_KeyframeAnimateOption 定义关键帧动画参数对象。
typedef struct ArkUI_AnimatorOption ArkUI_AnimatorOption 定义animator动画参数对象。
typedef struct ArkUI_Animator * ArkUI_AnimatorHandle 定义animator动画对象指针。
typedef struct ArkUI_TransitionEffect ArkUI_TransitionEffect 定义transition属性配置转场参数对象。

函数

名称 描述
ArkUI_AnimateOption * OH_ArkUI_AnimateOption_Create () 创建动画效果参数。
void OH_ArkUI_AnimateOption_Dispose (ArkUI_AnimateOption *option) 销毁动画效果参数指针。
int32_t OH_ArkUI_AnimateOption_GetDuration (ArkUI_AnimateOption *option) 获取动画持续时间,单位为ms(毫秒)。
float OH_ArkUI_AnimateOption_GetTempo (ArkUI_AnimateOption *option) 获取动画播放速度。
ArkUI_AnimationCurve OH_ArkUI_AnimateOption_GetCurve (ArkUI_AnimateOption *option) 获取动画曲线。
int32_t OH_ArkUI_AnimateOption_GetDelay (ArkUI_AnimateOption *option) 获取动画延迟播放时间,单位为ms(毫秒)。
int32_t OH_ArkUI_AnimateOption_GetIterations (ArkUI_AnimateOption *option) 获取动画播放次数。
ArkUI_AnimationPlayMode OH_ArkUI_AnimateOption_GetPlayMode (ArkUI_AnimateOption *option) 获取动画播放模式。
ArkUI_ExpectedFrameRateRange * OH_ArkUI_AnimateOption_GetExpectedFrameRateRange (ArkUI_AnimateOption *option) 获取动画的期望帧率。
void OH_ArkUI_AnimateOption_SetDuration (ArkUI_AnimateOption *option, int32_t value) 设置动画持续时间。
void OH_ArkUI_AnimateOption_SetTempo (ArkUI_AnimateOption *option, float value) 设置动画播放速度。
void OH_ArkUI_AnimateOption_SetCurve (ArkUI_AnimateOption *option, ArkUI_AnimationCurve value) 设置动画曲线。
void OH_ArkUI_AnimateOption_SetDelay (ArkUI_AnimateOption *option, int32_t value) 设置动画延迟播放时间。
void OH_ArkUI_AnimateOption_SetIterations (ArkUI_AnimateOption *option, int32_t value) 设置动画播放次数。
void OH_ArkUI_AnimateOption_SetPlayMode (ArkUI_AnimateOption *option, ArkUI_AnimationPlayMode value) 设置动画播放模式。
void OH_ArkUI_AnimateOption_SetExpectedFrameRateRange (ArkUI_AnimateOption *option, ArkUI_ExpectedFrameRateRange *value) 设置动画的期望帧率。
void OH_ArkUI_AnimateOption_SetICurve (ArkUI_AnimateOption *option, ArkUI_CurveHandle value) 设置动画的动画曲线。
ArkUI_CurveHandle OH_ArkUI_AnimateOption_GetICurve (ArkUI_AnimateOption *option) 获取动画的动画曲线。
ArkUI_KeyframeAnimateOption * OH_ArkUI_KeyframeAnimateOption_Create (int32_t size) 获取关键帧动画参数。
void OH_ArkUI_KeyframeAnimateOption_Dispose (ArkUI_KeyframeAnimateOption *option) 销毁关键帧动画参数。
int32_t OH_ArkUI_KeyframeAnimateOption_SetDelay (ArkUI_KeyframeAnimateOption *option, int32_t value) 设置关键帧动画的整体延时时间,单位为ms(毫秒),默认不延时播放。
int32_t OH_ArkUI_KeyframeAnimateOption_SetIterations (ArkUI_KeyframeAnimateOption *option, int32_t value) 设置关键帧动画的动画播放次数。默认播放一次,设置为-1时表示无限次播放。设置为0时表示无动画效果。
int32_t OH_ArkUI_KeyframeAnimateOption_RegisterOnFinishCallback (ArkUI_KeyframeAnimateOption *option, void *userData, void(*onFinish)(void *userData)) 设置关键帧动画播放完成回调。当keyframe动画所有次数播放完成后调用。
int32_t OH_ArkUI_KeyframeAnimateOption_SetDuration (ArkUI_KeyframeAnimateOption *option, int32_t value, int32_t index) 设置关键帧动画某段关键帧动画的持续时间,单位为毫秒。
int32_t OH_ArkUI_KeyframeAnimateOption_SetCurve (ArkUI_KeyframeAnimateOption *option, ArkUI_CurveHandle value, int32_t index) 设置关键帧动画某段关键帧使用的动画曲线。
int32_t OH_ArkUI_KeyframeAnimateOption_RegisterOnEventCallback (ArkUI_KeyframeAnimateOption *option, void *userData, void(*event)(void *userData), int32_t index) 设置关键帧时刻状态的闭包函数,即在该关键帧时刻要达到的状态。
int32_t OH_ArkUI_KeyframeAnimateOption_GetDelay (ArkUI_KeyframeAnimateOption *option) 获取关键帧整体延时时间。
int32_t OH_ArkUI_KeyframeAnimateOption_GetIterations (ArkUI_KeyframeAnimateOption *option) 获取关键帧动画播放次数。
int32_t OH_ArkUI_KeyframeAnimateOption_GetDuration (ArkUI_KeyframeAnimateOption *option, int32_t index) 获取关键帧动画某段状态持续时间。
ArkUI_CurveHandle OH_ArkUI_KeyframeAnimateOption_GetCurve (ArkUI_KeyframeAnimateOption *option, int32_t index) 获取关键帧动画某段状态动画曲线。
ArkUI_ExpectedFrameRateRange* OH_ArkUI_KeyframeAnimateOption_GetExpectedFrameRate(ArkUI_KeyframeAnimateOption* option) 获取关键帧动画参数的期望帧率。
起始版本: 19
int32_t OH_ArkUI_KeyframeAnimateOption_SetExpectedFrameRate(ArkUI_KeyframeAnimateOption* option, ArkUI_ExpectedFrameRateRange* frameRate) 设置关键帧动画期望帧率。
起始版本: 19
ArkUI_AnimatorOption * OH_ArkUI_AnimatorOption_Create (int32_t keyframeSize) 创建animator动画对象参数。
void OH_ArkUI_AnimatorOption_Dispose (ArkUI_AnimatorOption *option) 销毁animator动画对象参数。
int32_t OH_ArkUI_AnimatorOption_SetDuration (ArkUI_AnimatorOption *option, int32_t value) 设置animator动画播放的时长,单位毫秒。
int32_t OH_ArkUI_AnimatorOption_SetDelay (ArkUI_AnimatorOption *option, int32_t value) 设置animator动画延时播放时长,单位毫秒。
int32_t OH_ArkUI_AnimatorOption_SetIterations (ArkUI_AnimatorOption *option, int32_t value) 设置animator动画播放次数。设置为0时不播放,设置为-1时无限次播放。
int32_t OH_ArkUI_AnimatorOption_SetFill (ArkUI_AnimatorOption *option, ArkUI_AnimationFillMode value) 设置animator动画执行后是否恢复到初始状态。
int32_t OH_ArkUI_AnimatorOption_SetDirection (ArkUI_AnimatorOption *option, ArkUI_AnimationDirection value) 设置animator动画播放方向。
int32_t OH_ArkUI_AnimatorOption_SetCurve (ArkUI_AnimatorOption *option, ArkUI_CurveHandle value) 设置animator动画插值曲线。
int32_t OH_ArkUI_AnimatorOption_SetBegin (ArkUI_AnimatorOption *option, float value) 设置animator动画插值起点。
int32_t OH_ArkUI_AnimatorOption_SetEnd (ArkUI_AnimatorOption *option, float value) 设置animator动画插值终点。
int32_t OH_ArkUI_AnimatorOption_SetExpectedFrameRateRange (ArkUI_AnimatorOption *option, ArkUI_ExpectedFrameRateRange *value) 设置animator动画期望的帧率范围。
int32_t OH_ArkUI_AnimatorOption_SetKeyframe (ArkUI_AnimatorOption *option, float time, float value, int32_t index) 设置animator动画关键帧参数。
int32_t OH_ArkUI_AnimatorOption_SetKeyframeCurve (ArkUI_AnimatorOption *option, ArkUI_CurveHandle value, int32_t index) 设置animator动画关键帧曲线类型。
int32_t OH_ArkUI_AnimatorOption_GetDuration (ArkUI_AnimatorOption *option) 获取animator动画播放的时长。
int32_t OH_ArkUI_AnimatorOption_GetDelay (ArkUI_AnimatorOption *option) 获取animator动画延时播放时长。
int32_t OH_ArkUI_AnimatorOption_GetIterations (ArkUI_AnimatorOption *option) 获取animator动画播放次数。
ArkUI_AnimationDirection OH_ArkUI_AnimatorOption_GetDirection (ArkUI_AnimatorOption *option) 获取animator动画播放方向。
ArkUI_CurveHandle OH_ArkUI_AnimatorOption_GetCurve (ArkUI_AnimatorOption *option) 获取animator动画插值曲线。
float OH_ArkUI_AnimatorOption_GetBegin (ArkUI_AnimatorOption *option) 获取animator动画插值起点。
float OH_ArkUI_AnimatorOption_GetEnd (ArkUI_AnimatorOption *option) 获取animator动画插值终点。
ArkUI_ExpectedFrameRateRange * OH_ArkUI_AnimatorOption_GetExpectedFrameRateRange (ArkUI_AnimatorOption *option) 获取animator动画期望的帧率范围。
float OH_ArkUI_AnimatorOption_GetKeyframeTime (ArkUI_AnimatorOption *option, int32_t index) 获取animator动画关键帧时间。
float OH_ArkUI_AnimatorOption_GetKeyframeValue (ArkUI_AnimatorOption *option, int32_t index) 获取animator动画关键帧数值。
ArkUI_CurveHandle OH_ArkUI_AnimatorOption_GetKeyframeCurve (ArkUI_AnimatorOption *option, int32_t index) 获取animator动画关键帧动画插值曲线。
void * OH_ArkUI_AnimatorEvent_GetUserData (ArkUI_AnimatorEvent *event) 获取动画事件对象中的用户自定义对象。
void * OH_ArkUI_AnimatorOnFrameEvent_GetUserData (ArkUI_AnimatorOnFrameEvent *event) 获取动画事件对象中的用户自定义对象。
float OH_ArkUI_AnimatorOnFrameEvent_GetValue (ArkUI_AnimatorOnFrameEvent *event) 获取动画事件对象中的当前进度。
int32_t OH_ArkUI_AnimatorOption_RegisterOnFrameCallback (ArkUI_AnimatorOption *option, void *userData, void(*callback)(ArkUI_AnimatorOnFrameEvent *event)) 设置animator动画接收到帧时回调。
int32_t OH_ArkUI_AnimatorOption_RegisterOnFinishCallback (ArkUI_AnimatorOption *option, void *userData, void(*callback)(ArkUI_AnimatorEvent *event)) 设置animator动画完成时回调。
int32_t OH_ArkUI_AnimatorOption_RegisterOnCancelCallback (ArkUI_AnimatorOption *option, void *userData, void(*callback)(ArkUI_AnimatorEvent *event)) 设置animator动画被取消时回调。
int32_t OH_ArkUI_AnimatorOption_RegisterOnRepeatCallback (ArkUI_AnimatorOption *option, void *userData, void(*callback)(ArkUI_AnimatorEvent *event)) 设置animator动画重复时回调。
int32_t OH_ArkUI_Animator_ResetAnimatorOption (ArkUI_AnimatorHandle animator, ArkUI_AnimatorOption *option) 更新animator动画。
int32_t OH_ArkUI_Animator_Play (ArkUI_AnimatorHandle animator) 启动animator动画。
int32_t OH_ArkUI_Animator_Finish (ArkUI_AnimatorHandle animator) 结束animator动画。
int32_t OH_ArkUI_Animator_Pause (ArkUI_AnimatorHandle animator) 暂停animator动画。
int32_t OH_ArkUI_Animator_Cancel (ArkUI_AnimatorHandle animator) 取消animator动画。
int32_t OH_ArkUI_Animator_Reverse (ArkUI_AnimatorHandle animator) 以相反的顺序播放animator动画。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateCurveByType (ArkUI_AnimationCurve curve) 插值曲线的初始化函数,可以根据入参创建一个插值曲线对象。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateStepsCurve (int32_t count, bool end) 构造阶梯曲线对象。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateCubicBezierCurve (float x1, float y1, float x2, float y2) 构造三阶贝塞尔曲线对象。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateSpringCurve (float velocity, float mass, float stiffness, float damping) 构造弹簧曲线对象,曲线形状由弹簧参数决定,动画时长受animation、animateTo中的duration参数控制。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateSpringMotion (float response, float dampingFraction, float overlapDuration) 构造弹性动画曲线对象。如果对同一对象的同一属性进行多个弹性动画,每个动画会替换掉前一个动画,并继承之前的速度。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateResponsiveSpringMotion (float response, float dampingFraction, float overlapDuration) 构造弹性跟手动画曲线对象,是springMotion的一种特例,仅默认参数不同,可与springMotion混合使用。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateInterpolatingSpring (float velocity, float mass, float stiffness, float damping) 构造插值器弹簧曲线对象,生成一条从0到1的动画曲线,实际动画值根据曲线进行插值计算。
ArkUI_CurveHandle OH_ArkUI_Curve_CreateCustomCurve (void *userData, float(*interpolate)(float fraction, void *userdata)) 构造自定义曲线对象。
void OH_ArkUI_Curve_DisposeCurve (ArkUI_CurveHandle curveHandle) 销毁自定义曲线对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateOpacityTransitionEffect (float opacity) 创建组件转场时的透明度效果对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateTranslationTransitionEffect (ArkUI_TranslationOptions *translate) 创建组件转场时的平移效果对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateScaleTransitionEffect (ArkUI_ScaleOptions *scale) 创建组件转场时的缩放效果对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateRotationTransitionEffect (ArkUI_RotationOptions *rotate) 创建组件转场时的旋转效果对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateMovementTransitionEffect (ArkUI_TransitionEdge move) 创建组件平移效果对象。
ArkUI_TransitionEffect * OH_ArkUI_CreateAsymmetricTransitionEffect (ArkUI_TransitionEffect *appear, ArkUI_TransitionEffect *disappear) 创建非对称的转场效果对象。
void OH_ArkUI_TransitionEffect_Dispose (ArkUI_TransitionEffect *option) 销毁转场效果对象。
int32_t OH_ArkUI_TransitionEffect_Combine (ArkUI_TransitionEffect *option, ArkUI_TransitionEffect *combine) 设置转场效果链式组合,以形成包含多种转场效果的TransitionEffect。
int32_t OH_ArkUI_TransitionEffect_SetAnimation (ArkUI_TransitionEffect *option, ArkUI_AnimateOption *animation) 设置转场效果动画参数。

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArkUI(方舟UI框架)

harmony 鸿蒙ARKUI_TextPickerCascadeRangeContent

harmony 鸿蒙ARKUI_TextPickerRangeContent

harmony 鸿蒙ArkUI_AnimateCompleteCallback

harmony 鸿蒙ArkUI_AttributeItem

harmony 鸿蒙ArkUI_ColorStop

harmony 鸿蒙ArkUI_ContextCallback

harmony 鸿蒙ArkUI_EventModule

harmony 鸿蒙ArkUI_ExpectedFrameRateRange

harmony 鸿蒙ArkUI_IntOffset

0  赞