native_dialog.h
概述
提供ArkUI在Native侧的自定义弹窗接口定义集合。
库: libace_ndk.z.so
引用文件: <arkui/native_dialog.h>
系统能力: SystemCapability.ArkUI.ArkUI.Full
起始版本: 12
相关模块:ArkUI_NativeModule
汇总
结构体
| 名称 | 描述 |
|---|---|
| struct ArkUI_NativeDialogAPI_1 | ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_1。 |
| struct ArkUI_NativeDialogAPI_2 | ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_2。 |
| struct ArkUI_NativeDialogAPI_3 | ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_3。 |
类型定义
| 名称 | 描述 |
|---|---|
| typedef bool(* ArkUI_OnWillDismissEvent) (int32_t reason) | 弹窗关闭的回调函数。 |
| typedef struct ArkUI_DialogDismissEvent ArkUI_DialogDismissEvent | 定义弹窗关闭事件对象。 |
| typedef struct ArkUI_CustomDialogOptions ArkUI_CustomDialogOptions | 定义自定义弹窗的内容对象。 起始版本: 19 |
枚举
| 名称 | 描述 |
|---|---|
| ArkUI_DismissReason { DIALOG_DISMISS_BACK_PRESS = 0, DIALOG_DISMISS_TOUCH_OUTSIDE, DIALOG_DISMISS_CLOSE_BUTTON, DIALOG_DISMISS_SLIDE_DOWN } | 弹窗关闭的触发方式。 |
| ArkUI_LevelMode { ARKUI_LEVEL_MODE_OVERLAY = 0, ARKUI_LEVEL_MODE_EMBEDDED } | 设置弹窗显示层级。 |
| ArkUI_ImmersiveMode { ARKUI_IMMERSIVE_MODE_DEFAULT = 0, ARKUI_IMMERSIVE_MODE_EXTEND } | 指定嵌入式弹窗的蒙层覆盖区域。 |
函数
| 名称 | 描述 |
|---|---|
| void OH_ArkUI_DialogDismissEvent_SetShouldBlockDismiss (ArkUI_DialogDismissEvent *event, bool shouldBlockDismiss) | 设置是否需要屏蔽系统关闭弹窗行为,true表示屏蔽系统行为不关闭弹窗,false表示不屏蔽。 |
| void * OH_ArkUI_DialogDismissEvent_GetUserData (ArkUI_DialogDismissEvent *event) | 获取弹窗关闭事件对象中的用户自定义数据指针。 |
| int32_t OH_ArkUI_DialogDismissEvent_GetDismissReason (ArkUI_DialogDismissEvent *event) | 获取交互式关闭事件指针中的关闭原因。 |
| int32_t OH_ArkUI_CustomDialog_OpenDialog (ArkUI_CustomDialogOptions *options, void (*callback)(int32_t dialogId)) | 弹出自定义弹窗。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_UpdateDialog (ArkUI_CustomDialogOptions *options, void (*callback)(int32_t dialogId)) | 更新自定义弹窗。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_CloseDialog (int32_t dialogId) | 关闭自定义弹窗。 起始版本: 19 |
| ArkUI_CustomDialogOptions* OH_ArkUI_CustomDialog_CreateOptions (ArkUI_NodeHandle content) | 创建自定义弹窗options。 起始版本: 19 |
| void OH_ArkUI_CustomDialog_DisposeOptions (ArkUI_CustomDialogOptions *options) | 销毁自定义弹窗options。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetLevelMode (ArkUI_CustomDialogOptions *options, ArkUI_LevelMode levelMode) | 设置弹窗的显示层级。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetLevelUniqueId (ArkUI_CustomDialogOptions *options, int32_t uniqueId) | 设置弹窗显示层级页面下的节点id。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetImmersiveMode (ArkUI_CustomDialogOptions *options, ArkUI_ImmersiveMode immersiveMode) | 设置嵌入式弹窗蒙层的显示区域。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBackgroundColor (ArkUI_CustomDialogOptions *options, uint32_t backgroundColor) | 设置弹窗的背景颜色。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetCornerRadius (ArkUI_CustomDialogOptions *options, float topLeft, float topRight, float bottomLeft, float bottomRight) | 设置弹窗的圆角半径。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBorderWidth (ArkUI_CustomDialogOptions *options, float top, float right, float bottom, float left, ArkUI_LengthMetricUnit unit) | 设置弹窗的边框宽度。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBorderColor (ArkUI_CustomDialogOptions *options, uint32_t top, uint32_t right, uint32_t bottom, uint32_t left) | 设置弹窗的边框颜色。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBorderStyle (ArkUI_CustomDialogOptions *options, int32_t top, int32_t right, int32_t bottom, int32_t left) | 设置弹窗的边框样式。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetWidth (ArkUI_CustomDialogOptions *options, float width, ArkUI_LengthMetricUnit unit) | 设置弹窗的背板宽度。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetHeight (ArkUI_CustomDialogOptions *options, float height, ArkUI_LengthMetricUnit unit) | 设置弹窗的背板高度。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetShadow (ArkUI_CustomDialogOptions *options, ArkUI_ShadowStyle shadow) | 设置弹窗的背板阴影。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetCustomShadow (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *customShadow) | 设置弹窗的自定义阴影。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBackgroundBlurStyle (ArkUI_CustomDialogOptions *options, ArkUI_BlurStyle blurStyle) | 设置弹窗的背板模糊材质。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetAlignment (ArkUI_CustomDialogOptions *options, int32_t alignment, float offsetX, float offsetY) | 设置弹窗的对齐模式。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetModalMode (ArkUI_CustomDialogOptions *options, bool isModal) | 设置自定义弹窗是否开启模态样式的弹窗。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetAutoCancel (ArkUI_CustomDialogOptions *options, bool autoCancel) | 设置自定义弹窗是否允许点击遮罩层退出。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetSubwindowMode (ArkUI_CustomDialogOptions *options, bool showInSubwindow) | 设置弹窗是否在子窗口显示此弹窗。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetMask (ArkUI_CustomDialogOptions *options, uint32_t maskColor, const ArkUI_Rect *maskRect) | 设置自定义弹窗遮罩属性。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetKeyboardAvoidMode (ArkUI_CustomDialogOptions *options, ArkUI_KeyboardAvoidMode keyboardAvoidMode) | 设置弹窗避让键盘的模式。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetHoverModeEnabled (ArkUI_CustomDialogOptions *options, bool enabled) | 设置弹窗是否响应悬停态。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetHoverModeArea (ArkUI_CustomDialogOptions *options, ArkUI_HoverModeAreaType hoverModeAreaType) | 设置悬停态下弹窗默认展示区域。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_RegisterOnWillDismissCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(ArkUI_DialogDismissEvent *event)) | 注册系统关闭自定义弹窗的监听事件。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_RegisterOnWillAppearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) | 注册自定义弹窗显示动效前的监听事件。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_RegisterOnDidAppearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) | 注册自定义弹窗弹出时的监听事件。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_RegisterOnWillDisappearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) | 注册自定义弹窗退出动效前的监听事件。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_RegisterOnDidDisappearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) | 注册自定义弹窗消失时的监听事件。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBackgroundBlurStyleOptions (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *backgroundBlurStyleOptions) | 设置弹窗的背景模糊效果。 起始版本: 19 |
| int32_t OH_ArkUI_CustomDialog_SetBackgroundEffect (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *backgroundEffect) | 设置弹窗的背景效果参数。 起始版本: 19 |