harmony 鸿蒙ArkUI_NativeDialogAPI_1

2025-06-12 浏览 (1)

ArkUI_NativeDialogAPI_1

概述

ArkUI提供的Native侧自定义弹窗接口集合。

起始版本: 12

相关模块:ArkUI_NativeModule

所在头文件: native_dialog.h

汇总

成员变量

名称描述
ArkUI_NativeDialogHandle(* create )()创建自定义弹窗并返回指向自定义弹窗的指针。
void(* dispose )(ArkUI_NativeDialogHandle handle)销毁自定义弹窗。
int32_t(* setContent )(ArkUI_NativeDialogHandle handle, ArkUI_NodeHandle content)挂载自定义弹窗内容。
int32_t(* removeContent )(ArkUI_NativeDialogHandle handle)卸载自定义弹窗内容。
int32_t(* setContentAlignment )(ArkUI_NativeDialogHandle handle, int32_t alignment, float offsetX, float offsetY)设置自定义弹窗对齐方式。
int32_t(* resetContentAlignment )(ArkUI_NativeDialogHandle handle)重置setContentAlignment方法设置的属性,使用系统默认的对齐方式。
int32_t(* setModalMode )(ArkUI_NativeDialogHandle handle, bool isModal)设置自定义弹窗是否开启模态样式的弹窗。
int32_t(* setAutoCancel )(ArkUI_NativeDialogHandle handle, bool autoCancel)设置自定义弹窗是否允许通过点击遮罩层退出。
int32_t(* setMask )(ArkUI_NativeDialogHandle handle, uint32_t maskColor, const ArkUI_Rect *maskRect)设置自定义弹窗遮罩属性。
int32_t(* setBackgroundColor )(ArkUI_NativeDialogHandle handle, uint32_t backgroundColor)设置弹窗背景色。
int32_t(* setCornerRadius )(ArkUI_NativeDialogHandle handle, float topLeft, float topRight, float bottomLeft, float bottomRight)设置弹窗背板圆角半径。
int32_t(* setGridColumnCount )(ArkUI_NativeDialogHandle handle, int32_t gridCount)设置弹窗宽度占栅格宽度的个数。
int32_t(* enableCustomStyle )(ArkUI_NativeDialogHandle handle, bool enableCustomStyle)弹窗容器样式是否可以自定义。
int32_t(* enableCustomAnimation )(ArkUI_NativeDialogHandle handle, bool enableCustomAnimation)弹窗容器是否使用自定义弹窗动画。
int32_t(* registerOnWillDismiss )(ArkUI_NativeDialogHandle handle, ArkUI_OnWillDismissEvent eventHandler)当触发系统定义的返回操作、键盘ESC关闭交互操作时,如果注册该回调函数,则不会立刻关闭弹窗,是否关闭由用户自行决定。
int32_t(* show )(ArkUI_NativeDialogHandle handle, bool showInSubWindow)显示自定义弹窗。
int32_t(* close )(ArkUI_NativeDialogHandle handle)关闭自定义弹窗,如已关闭,则不生效。
int32_t(* registerOnWillDismissWithUserData )(ArkUI_NativeDialogHandle handle, void *userData, void(*callback)(ArkUI_DialogDismissEvent *event))注册系统关闭自定义弹窗的监听事件。

结构体成员变量说明

close

int32_t(* ArkUI_NativeDialogAPI_1::close) (ArkUI_NativeDialogHandle handle)

描述:

关闭自定义弹窗,如已关闭,则不生效。

参数:

名称描述
handle指向自定义弹窗控制器的指针。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

create

ArkUI_NativeDialogHandle(* ArkUI_NativeDialogAPI_1::create) ()

描述:

创建自定义弹窗并返回指向自定义弹窗的指针。

注解:

create方法需要在调用show方法之前调用。

返回:

返回指向自定义弹窗的指针,如果创建失败,则返回空指针。

dispose

void(* ArkUI_NativeDialogAPI_1::dispose) (ArkUI_NativeDialogHandle handle)

描述:

销毁自定义弹窗。

参数:

名称描述
handle指向自定义弹窗控制器的指针。

enableCustomAnimation

int32_t(* ArkUI_NativeDialogAPI_1::enableCustomAnimation) (ArkUI_NativeDialogHandle handle, bool enableCustomAnimation)

描述:

弹窗容器是否使用自定义弹窗动画。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
enableCustomAnimationtrue:使用自定义动画,关闭系统默认动画;false:使用系统默认动画。

注解:

enableCustomAnimation方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

enableCustomStyle

int32_t(* ArkUI_NativeDialogAPI_1::enableCustomStyle) (ArkUI_NativeDialogHandle handle, bool enableCustomStyle)

描述:

弹窗容器样式是否可以自定义。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
enableCustomStyletrue:宽度自适应子节点,圆角为0,弹窗背景色透明;false:高度自适应子节点,宽度由栅格系统定义, 圆角半径24vp。

注解:

enableCustomStyle方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

registerOnWillDismiss

int32_t(* ArkUI_NativeDialogAPI_1::registerOnWillDismiss) (ArkUI_NativeDialogHandle handle, ArkUI_OnWillDismissEvent eventHandler)

描述:

当触发系统定义的返回操作、键盘ESC关闭交互操作时,如果注册了该回调函数,弹窗不会立即关闭,而是由用户决定是否关闭。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
eventHandler弹窗关闭的回调函数 参数类型{@Link OnWillDismissEvent}。

注解:

registerOnWillDismiss方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

registerOnWillDismissWithUserData

int32_t(* ArkUI_NativeDialogAPI_1::registerOnWillDismissWithUserData) (ArkUI_NativeDialogHandle handle, void *userData, void(*callback)(ArkUI_DialogDismissEvent *event))

描述:

注册系统关闭自定义弹窗的监听事件。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
userData用户自定义数据指针。
callback监听自定义弹窗关闭的回调事件。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

removeContent

int32_t(* ArkUI_NativeDialogAPI_1::removeContent) (ArkUI_NativeDialogHandle handle)

描述:

卸载自定义弹窗内容。

参数:

名称描述
handle指向自定义弹窗控制器的指针。

注解:

removeContent方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

resetContentAlignment

int32_t(* ArkUI_NativeDialogAPI_1::resetContentAlignment) (ArkUI_NativeDialogHandle handle)

描述:

重置setContentAlignment方法设置的属性,使用系统默认的对齐方式。

参数:

名称描述
handle指向自定义弹窗控制器的指针。

注解:

resetContentAlignment方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setAutoCancel

int32_t(* ArkUI_NativeDialogAPI_1::setAutoCancel) (ArkUI_NativeDialogHandle handle, bool autoCancel)

描述:

设置自定义弹窗是否允许通过点击遮罩层退出。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
autoCancel设置是否允许通过点击遮罩层退出,true表示关闭弹窗,false表示不关闭弹窗。

注解:

setAutoCancel方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setBackgroundColor

int32_t(* ArkUI_NativeDialogAPI_1::setBackgroundColor) (ArkUI_NativeDialogHandle handle, uint32_t backgroundColor)

描述:

设置弹窗背景色。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
backgroundColor设置弹窗背景颜色,0xargb格式。

注解:

setBackgroundColor方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setContent

int32_t(* ArkUI_NativeDialogAPI_1::setContent) (ArkUI_NativeDialogHandle handle, ArkUI_NodeHandle content)

描述:

挂载自定义弹窗内容。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
content弹窗内容根节点指针。

注解:

setContent方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setContentAlignment

int32_t(* ArkUI_NativeDialogAPI_1::setContentAlignment) (ArkUI_NativeDialogHandle handle, int32_t alignment, float offsetX, float offsetY)

描述:

设置自定义弹窗对齐方式。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
alignment对齐方式,参数类型{@Link ArkUI_Alignment}。
offsetX弹窗的水平偏移量,浮点型。
offsetY弹窗的垂直偏移量,浮点型。

注解:

setContentAlignment方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setCornerRadius

int32_t(* ArkUI_NativeDialogAPI_1::setCornerRadius) (ArkUI_NativeDialogHandle handle, float topLeft, float topRight, float bottomLeft, float bottomRight)

描述:

设置弹窗背板圆角半径。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
topLeft设置弹窗背板左上角圆角半径。
topRight设置弹窗背板右上角圆角半径。
bottomLeft设置弹窗背板左下圆角半径。
bottomRight设置弹窗背板右下角圆角半径。

注解:

setCornerRadius方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setGridColumnCount

int32_t(* ArkUI_NativeDialogAPI_1::setGridColumnCount) (ArkUI_NativeDialogHandle handle, int32_t gridCount)

描述:

设置弹窗宽度占栅格宽度的个数。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
gridCount默认为按照窗口大小自适应,最大栅格数为系统最大栅格数。

注解:

setGridColumnCount方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setMask

int32_t(* ArkUI_NativeDialogAPI_1::setMask) (ArkUI_NativeDialogHandle handle, uint32_t maskColor, const ArkUI_Rect *maskRect)

描述:

设置自定义弹窗遮罩属性。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
maskColor设置遮罩颜色,0xargb格式。
maskRect遮蔽层区域范围的指针,遮蔽层区域内的事件不透传,在遮蔽层区域外的事件透传。参数类型{@Link ArkUI_Rect}。

注解:

setMask方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

setModalMode

int32_t(* ArkUI_NativeDialogAPI_1::setModalMode) (ArkUI_NativeDialogHandle handle, bool isModal)

描述:

设置自定义弹窗是否开启模态样式的弹窗。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
isModal设置是否开启模态窗口,模态窗口有蒙层,非模态窗口无蒙层。为true时开启模态窗口,为false时不开启模态窗口。

注解:

setModalMode方法需要在调用show方法之前调用。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

show

int32_t(* ArkUI_NativeDialogAPI_1::show) (ArkUI_NativeDialogHandle handle, bool showInSubWindow)

描述:

显示自定义弹窗。

参数:

名称描述
handle指向自定义弹窗控制器的指针。
showInSubWindow是否在子窗口显示弹窗。true表示在子窗显示弹窗。false表示不在子窗显示弹窗。

返回:

ARKUI_ERROR_CODE_NO_ERROR成功。 ARKUI_ERROR_CODE_PARAM_INVALID函数参数异常。

你可能感兴趣的鸿蒙文章

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

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