openharmony 鸿蒙 capi-drawable-descriptor-h

2026-08-25 浏览 (1)

drawable_descriptor.h

概述

提供NativeDrawableDescriptor接口的类型定义。

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

库: libace_ndk.z.so

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

起始版本: 12

相关模块: ArkUI_NativeModule

相关示例: DrawableDescriptorSample

汇总

结构体

名称typedef关键字描述
ArkUI_DrawableDescriptorArkUI_DrawableDescriptor定义DrawableDescriptor对象。
OH_PixelmapNative-使用Image Kit定义的Native侧的OH_PixelmapNative对象。
OH_PixelmapNative*OH_PixelmapNativeHandle定义OH_PixelmapNative对象指针类型。
ArkUI_Node-定义ArkUI native组件实例对象。
起始版本: 22
ArkUI_Node*ArkUI_NodeHandle定义ArkUI native组件实例对象指针定义。
起始版本: 22
ArkUI_DrawableDescriptor_AnimationControllerArkUI_DrawableDescriptor_AnimationController定义DrawableDescriptor动图控制器对象。
起始版本: 22

枚举

名称typedef关键字描述
DrawableDescriptor_AnimationStatusDrawableDescriptor_AnimationStatus定义DrawableDescriptor动图的播放状态。
DrawableDescriptor_AnimationStopModeDrawableDescriptor_AnimationStopMode定义DrawableDescriptor动图的停止模式。
起始版本: 24

函数

名称描述
ArkUI_DrawableDescriptor* OH_ArkUI_DrawableDescriptor_CreateFromPixelMap(OH_PixelmapNativeHandle pixelMap)使用PixelMap创建DrawableDescriptor对象。
ArkUI_DrawableDescriptor* OH_ArkUI_DrawableDescriptor_CreateFromAnimatedPixelMap(OH_PixelmapNativeHandle* array, int32_t size)使用PixelMap图片数组创建DrawableDescriptor对象。
void OH_ArkUI_DrawableDescriptor_Dispose(ArkUI_DrawableDescriptor* drawableDescriptor)销毁DrawableDescriptor对象指针。
OH_PixelmapNativeHandle OH_ArkUI_DrawableDescriptor_GetStaticPixelMap(ArkUI_DrawableDescriptor* drawableDescriptor)获取PixelMap图片对象指针。
OH_PixelmapNativeHandle* OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArray(ArkUI_DrawableDescriptor* drawableDescriptor)获取用于播放动画的PixelMap图片数组数据。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArraySize(ArkUI_DrawableDescriptor* drawableDescriptor)获取用于播放动画的PixelMap图片数组数据。
void OH_ArkUI_DrawableDescriptor_SetAnimationDuration(ArkUI_DrawableDescriptor* drawableDescriptor, int32_t duration)设置PixelMap图片数组播放总时长。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationDuration(ArkUI_DrawableDescriptor* drawableDescriptor)获取PixelMap图片数组播放总时长。
void OH_ArkUI_DrawableDescriptor_SetAnimationIteration(ArkUI_DrawableDescriptor* drawableDescriptor, int32_t iteration)设置PixelMap图片数组播放次数。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationIteration(ArkUI_DrawableDescriptor* drawableDescriptor)获取PixelMap图片数组播放次数。
int32_t OH_ArkUI_DrawableDescriptor_SetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t size)设置动图中的单帧播放时间。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t* size)获取动图中的单帧播放时间。
int32_t OH_ArkUI_DrawableDescriptor_SetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t autoPlay)设置动图是否自动播放。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* autoPlay)获取动图是否自动播放。
int32_t OH_ArkUI_DrawableDescriptor_SetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode mode)设置动图的停止模式。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStopMode(const ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode* mode)获取动图的停止模式。
int32_t OH_ArkUI_DrawableDescriptor_CreateAnimationController(ArkUI_DrawableDescriptor* drawableDescriptor, ArkUI_NodeHandle node, ArkUI_DrawableDescriptor_AnimationController** controller)创建动图控制器。
void OH_ArkUI_DrawableDescriptor_DisposeAnimationController( ArkUI_DrawableDescriptor_AnimationController* controller)销毁动图控制器。
int32_t OH_ArkUI_DrawableDescriptor_StartAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)从首帧开始播放。
int32_t OH_ArkUI_DrawableDescriptor_StopAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)停止动图播放并回到首帧。
int32_t OH_ArkUI_DrawableDescriptor_ResumeAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)从当前帧恢复动图播放。
int32_t OH_ArkUI_DrawableDescriptor_PauseAnimation(ArkUI_DrawableDescriptor_AnimationController* controller)暂停动图的播放,保持在当前帧。
int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStatus(ArkUI_DrawableDescriptor_AnimationController* controller, DrawableDescriptor_AnimationStatus* status)获取动图的播放状态。

枚举类型说明

DrawableDescriptor_AnimationStatus

enum DrawableDescriptor_AnimationStatus

描述:

定义DrawableDescriptor动图的播放状态。

起始版本: 22

枚举项描述
DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_INITIAL = 0动画初始状态。
DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_RUNNING = 1动画处于播放状态。
DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_PAUSED = 2动画处于暂停状态。
DRAWABLE_DESCRIPTOR_ANIMATION_STATUS_STOPPED = 3动画处于停止状态。

DrawableDescriptor_AnimationStopMode

enum DrawableDescriptor_AnimationStopMode

描述:

定义DrawableDescriptor动图的停止模式。

起始版本: 24

枚举项描述
DRAWABLE_DESCRIPTOR_ANIMATION_FIRST_FRAME = 0动图停止时回到首帧。
DRAWABLE_DESCRIPTOR_ANIMATION_LAST_FRAME = 1动图停止时停留在最后一帧。

函数说明

OH_ArkUI_DrawableDescriptor_CreateFromPixelMap()

ArkUI_DrawableDescriptor* OH_ArkUI_DrawableDescriptor_CreateFromPixelMap(OH_PixelmapNativeHandle pixelMap)

描述:

使用PixelMap创建DrawableDescriptor对象。

起始版本: 12

参数:

参数项描述
OH_PixelmapNativeHandle pixelMapOH_PixelmapNative对象指针。

返回:

类型说明
ArkUI_DrawableDescriptor*返回DrawableDescriptor对象指针。

OH_ArkUI_DrawableDescriptor_CreateFromAnimatedPixelMap()

ArkUI_DrawableDescriptor* OH_ArkUI_DrawableDescriptor_CreateFromAnimatedPixelMap(OH_PixelmapNativeHandle* array, int32_t size)

描述:

使用PixelMap图片数组创建DrawableDescriptor对象。

起始版本: 12

参数:

参数项描述
OH_PixelmapNativeHandle* arrayPixelMap图片数组对象指针。
int32_t sizePixelMap图片数组大小。

返回:

类型说明
ArkUI_DrawableDescriptor*返回DrawableDescriptor对象指针。

OH_ArkUI_DrawableDescriptor_Dispose()

void OH_ArkUI_DrawableDescriptor_Dispose(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

销毁DrawableDescriptor对象指针。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

OH_ArkUI_DrawableDescriptor_GetStaticPixelMap()

OH_PixelmapNativeHandle OH_ArkUI_DrawableDescriptor_GetStaticPixelMap(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

获取PixelMap图片对象指针。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

返回:

类型说明
OH_PixelmapNativeHandleOH_PixelmapNative对象指针。

OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArray()

OH_PixelmapNativeHandle* OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArray(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

获取用于播放动画的PixelMap图片数组数据。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

返回:

类型说明
OH_PixelmapNativeHandle*PixelMap图片数组指针。

OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArraySize()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimatedPixelMapArraySize(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

获取用于播放动画的PixelMap图片数组数据。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

返回:

类型说明
int32_tPixelMap图片数组大小。

OH_ArkUI_DrawableDescriptor_SetAnimationDuration()

void OH_ArkUI_DrawableDescriptor_SetAnimationDuration(ArkUI_DrawableDescriptor* drawableDescriptor, int32_t duration)

描述:

设置PixelMap图片数组播放总时长。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
int32_t duration播放总时长,单位ms。取值范围:[0, +∞)。传入负数时按0处理。

OH_ArkUI_DrawableDescriptor_GetAnimationDuration()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationDuration(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

获取PixelMap图片数组播放总时长。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

返回:

类型说明
int32_t播放总时长,单位ms。

OH_ArkUI_DrawableDescriptor_SetAnimationIteration()

void OH_ArkUI_DrawableDescriptor_SetAnimationIteration(ArkUI_DrawableDescriptor* drawableDescriptor, int32_t iteration)

描述:

设置PixelMap图片数组播放次数。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
int32_t iteration播放次数。取值范围:[0, +∞),0表示无限循环播放。传入负数时按0处理。

OH_ArkUI_DrawableDescriptor_GetAnimationIteration()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationIteration(ArkUI_DrawableDescriptor* drawableDescriptor)

描述:

获取PixelMap图片数组播放次数。

起始版本: 12

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。

返回:

类型说明
int32_t播放次数。

OH_ArkUI_DrawableDescriptor_SetAnimationFrameDurations()

int32_t OH_ArkUI_DrawableDescriptor_SetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t size)

描述:

设置动图中的单帧播放时间。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
uint32_t* durations动图中的单帧播放时间数组,单位ms。
不设置则按照总时间播放。设置的优先级高于OH_ArkUI_DrawableDescriptor_SetAnimationDuration,即同时设置了OH_ArkUI_DrawableDescriptor_SetAnimationDuration和OH_ArkUI_DrawableDescriptor_SetAnimationFrameDurations时,OH_ArkUI_DrawableDescriptor_SetAnimationDuration不生效。
数组大小必须与PixelMap图片数组大小相同。
每帧播放时间取值范围:[0, +∞)。默认值:均匀分配总时长。
size_t size数组大小。

返回:

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

OH_ArkUI_DrawableDescriptor_GetAnimationFrameDurations()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationFrameDurations(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* durations, size_t* size)

描述:

获取动图中的单帧播放时间。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
uint32_t* durations动图中的单帧播放时间数组。
size_t* size数组大小。

返回:

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

OH_ArkUI_DrawableDescriptor_SetAnimationAutoPlay()

int32_t OH_ArkUI_DrawableDescriptor_SetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t autoPlay)

描述:

设置动图是否自动播放。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
uint32_t autoPlay是否自动播放。
1表示自动播放,0表示不自动播放。
默认值为1。

返回:

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

OH_ArkUI_DrawableDescriptor_GetAnimationAutoPlay()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationAutoPlay(ArkUI_DrawableDescriptor* drawableDescriptor, uint32_t* autoPlay)

描述:

获取动图是否自动播放。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
uint32_t* autoPlay是否自动播放。

返回:

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

OH_ArkUI_DrawableDescriptor_SetAnimationStopMode()

int32_t OH_ArkUI_DrawableDescriptor_SetAnimationStopMode(ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode mode)

描述:

设置动图停止模式。

起始版本: 24

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
DrawableDescriptor_AnimationStopMode mode动图停止模式。
取值为DrawableDescriptor_AnimationStopMode枚举值,默认值为DRAWABLE_DESCRIPTOR_ANIMATION_FIRST_FRAME

返回:

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

OH_ArkUI_DrawableDescriptor_GetAnimationStopMode()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStopMode(const ArkUI_DrawableDescriptor* drawableDescriptor, DrawableDescriptor_AnimationStopMode* mode)

描述:

获取动图停止模式。

起始版本: 24

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
DrawableDescriptor_AnimationStopMode* mode动图停止模式。
取值含义请参考DrawableDescriptor_AnimationStopMode

返回:

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

OH_ArkUI_DrawableDescriptor_CreateAnimationController()

int32_t OH_ArkUI_DrawableDescriptor_CreateAnimationController(ArkUI_DrawableDescriptor* drawableDescriptor, ArkUI_NodeHandle node, ArkUI_DrawableDescriptor_AnimationController** controller)

描述:

创建动图控制器。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor* drawableDescriptorDrawableDescriptor对象指针。
ArkUI_NodeHandle node组件节点指针。
ArkUI_DrawableDescriptor_AnimationController** controllerDrawableDescriptor动图控制器对象指针。

返回:

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

OH_ArkUI_DrawableDescriptor_DisposeAnimationController()

void OH_ArkUI_DrawableDescriptor_DisposeAnimationController(ArkUI_DrawableDescriptor_AnimationController* controller)

描述:

销毁动图控制器。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。

OH_ArkUI_DrawableDescriptor_StartAnimation()

int32_t OH_ArkUI_DrawableDescriptor_StartAnimation(ArkUI_DrawableDescriptor_AnimationController* controller);

描述:

从首帧开始播放。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。

返回:

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

OH_ArkUI_DrawableDescriptor_StopAnimation()

int32_t OH_ArkUI_DrawableDescriptor_StopAnimation(ArkUI_DrawableDescriptor_AnimationController* controller);

描述:

停止动图播放并回到首帧。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。

返回:

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

OH_ArkUI_DrawableDescriptor_ResumeAnimation()

int32_t OH_ArkUI_DrawableDescriptor_ResumeAnimation(ArkUI_DrawableDescriptor_AnimationController* controller);

描述:

从当前帧恢复动图播放。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。

返回:

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

OH_ArkUI_DrawableDescriptor_PauseAnimation()

int32_t OH_ArkUI_DrawableDescriptor_PauseAnimation(ArkUI_DrawableDescriptor_AnimationController* controller);

描述:

暂停动图的播放,保持在当前帧。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。

返回:

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

OH_ArkUI_DrawableDescriptor_GetAnimationStatus()

int32_t OH_ArkUI_DrawableDescriptor_GetAnimationStatus(ArkUI_DrawableDescriptor_AnimationController* controller, DrawableDescriptor_AnimationStatus* status);

描述:

获取动图的播放状态。

起始版本: 22

参数:

参数项描述
ArkUI_DrawableDescriptor_AnimationController* controllerDrawableDescriptor动图控制器对象指针。
DrawableDescriptor_AnimationStatus* statusDrawableDescriptor动图的播放状态。

返回:

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

你可能感兴趣的鸿蒙文章

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-native-node-h

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