1# native_dialog.h 2 3 4## 概述 5 6提供ArkUI在Native侧的自定义弹窗接口定义集合。 7 8**库:** libace_ndk.z.so 9 10**引用文件:** <arkui/native_dialog.h> 11 12**系统能力:** SystemCapability.ArkUI.ArkUI.Full 13 14**起始版本:** 12 15 16**相关模块:**[ArkUI_NativeModule](_ark_u_i___native_module.md) 17 18 19## 汇总 20 21 22### 结构体 23 24| 名称 | 描述 | 25| -------- | -------- | 26| struct [ArkUI_NativeDialogAPI_1](_ark_u_i___native_dialog_a_p_i__1.md) | ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_1。 | 27| struct [ArkUI_NativeDialogAPI_2](_ark_u_i___native_dialog_a_p_i__2.md) | ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_2。 | 28 29 30### 类型定义 31 32| 名称 | 描述 | 33| -------- | -------- | 34| typedef bool(\* [ArkUI_OnWillDismissEvent](_ark_u_i___native_module.md#arkui_onwilldismissevent)) (int32_t reason) | 弹窗关闭的回调函数。 | 35| typedef struct [ArkUI_DialogDismissEvent](_ark_u_i___native_module.md#arkui_dialogdismissevent) [ArkUI_DialogDismissEvent](_ark_u_i___native_module.md#arkui_dialogdismissevent) | 定义弹窗关闭事件对象。 | 36| typedef struct [ArkUI_CustomDialogOptions](_ark_u_i___native_module.md#arkui_customdialogoptions) [ArkUI_CustomDialogOptions](_ark_u_i___native_module.md#arkui_customdialogoptions) | 定义自定义弹窗的内容对象。 | 37 38 39### 枚举 40 41| 名称 | 描述 | 42| -------- | -------- | 43| [ArkUI_DismissReason](_ark_u_i___native_module.md#arkui_dismissreason) { [DIALOG_DISMISS_BACK_PRESS](_ark_u_i___native_module.md) = 0, [DIALOG_DISMISS_TOUCH_OUTSIDE](_ark_u_i___native_module.md), [DIALOG_DISMISS_CLOSE_BUTTON](_ark_u_i___native_module.md), [DIALOG_DISMISS_SLIDE_DOWN](_ark_u_i___native_module.md) } | 弹窗关闭的触发方式。 | 44| [ArkUI_LevelMode](_ark_u_i___native_module.md#arkui_levelmode) { [ARKUI_LEVEL_MODE_OVERLAY](_ark_u_i___native_module.md) = 0, [ARKUI_LEVEL_MODE_EMBEDDED](_ark_u_i___native_module.md) } | 设置弹窗显示层级。 | 45| [ArkUI_ImmersiveMode](_ark_u_i___native_module.md#arkui_immersivemode) { [ARKUI_IMMERSIVE_MODE_DEFAULT](_ark_u_i___native_module.md) = 0, [ARKUI_IMMERSIVE_MODE_EXTEND](_ark_u_i___native_module.md) } | 指定嵌入式弹窗的蒙层覆盖区域。 | 46 47 48### 函数 49 50| 名称 | 描述 | 51| -------- | -------- | 52| void [OH_ArkUI_DialogDismissEvent_SetShouldBlockDismiss](_ark_u_i___native_module.md#oh_arkui_dialogdismissevent_setshouldblockdismiss) ([ArkUI_DialogDismissEvent](_ark_u_i___native_module.md#arkui_dialogdismissevent) \*event, bool shouldBlockDismiss) | 设置是否需要屏蔽系统关闭弹窗行为,true表示屏蔽系统行为不关闭弹窗,false表示不屏蔽。 | 53| void \* [OH_ArkUI_DialogDismissEvent_GetUserData](_ark_u_i___native_module.md#oh_arkui_dialogdismissevent_getuserdata) ([ArkUI_DialogDismissEvent](_ark_u_i___native_module.md#arkui_dialogdismissevent) \*event) | 获取弹窗关闭事件对象中的用户自定义数据指针。 | 54| int32_t [OH_ArkUI_DialogDismissEvent_GetDismissReason](_ark_u_i___native_module.md#oh_arkui_dialogdismissevent_getdismissreason) ([ArkUI_DialogDismissEvent](_ark_u_i___native_module.md#arkui_dialogdismissevent) \*event) | 获取交互式关闭事件指针中的关闭原因。 | 55