harmony 鸿蒙native_dialog.h

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

native_dialog.h

概述

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

库: libace_ndk.z.so

引用文件:

系统能力: 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 定义自定义弹窗的内容对象。

枚举

名称 描述
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 } 指定嵌入式弹窗的蒙层覆盖区域。
ArkUI_DialogState { DIALOG_UNINITIALIZED = 0, DIALOG_INITIALIZED, DIALOG_APPEARING, DIALOG_APPEARED, DIALOG_DISAPPEARING, DIALOG_DISAPPEARED } 枚举对话框的状态。

函数

名称 描述
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)) 弹出自定义弹窗。
int32_t OH_ArkUI_CustomDialog_UpdateDialog (ArkUI_CustomDialogOptions *options, void (*callback)(int32_t dialogId)) 更新自定义弹窗。
int32_t OH_ArkUI_CustomDialog_CloseDialog (int32_t dialogId) 关闭自定义弹窗。
ArkUI_CustomDialogOptions* OH_ArkUI_CustomDialog_CreateOptions (ArkUI_NodeHandle content) 创建自定义弹窗options。
void OH_ArkUI_CustomDialog_DisposeOptions (ArkUI_CustomDialogOptions *options) 销毁自定义弹窗options。
int32_t OH_ArkUI_CustomDialog_SetLevelMode (ArkUI_CustomDialogOptions *options, ArkUI_LevelMode levelMode) 设置弹窗的显示层级。
int32_t OH_ArkUI_CustomDialog_SetLevelUniqueId (ArkUI_CustomDialogOptions *options, int32_t uniqueId) 设置弹窗显示层级页面下的节点id。
int32_t OH_ArkUI_CustomDialog_SetImmersiveMode (ArkUI_CustomDialogOptions *options, ArkUI_ImmersiveMode immersiveMode) 设置嵌入式弹窗蒙层的显示区域。
int32_t OH_ArkUI_CustomDialog_SetBackgroundColor (ArkUI_CustomDialogOptions *options, uint32_t backgroundColor) 设置弹窗的背景颜色。
int32_t OH_ArkUI_CustomDialog_SetCornerRadius (ArkUI_CustomDialogOptions *options, float topLeft, float topRight, float bottomLeft, float bottomRight) 设置弹窗的圆角半径。
int32_t OH_ArkUI_CustomDialog_SetBorderWidth (ArkUI_CustomDialogOptions *options, float top, float right, float bottom, float left, ArkUI_LengthMetricUnit unit) 设置弹窗的边框宽度。
int32_t OH_ArkUI_CustomDialog_SetBorderColor (ArkUI_CustomDialogOptions *options, uint32_t top, uint32_t right, uint32_t bottom, uint32_t left) 设置弹窗的边框颜色。
int32_t OH_ArkUI_CustomDialog_SetBorderStyle (ArkUI_CustomDialogOptions *options, int32_t top, int32_t right, int32_t bottom, int32_t left) 设置弹窗的边框样式。
int32_t OH_ArkUI_CustomDialog_SetWidth (ArkUI_CustomDialogOptions *options, float width, ArkUI_LengthMetricUnit unit) 设置弹窗的背板宽度。
int32_t OH_ArkUI_CustomDialog_SetHeight (ArkUI_CustomDialogOptions *options, float height, ArkUI_LengthMetricUnit unit) 设置弹窗的背板高度。
int32_t OH_ArkUI_CustomDialog_SetShadow (ArkUI_CustomDialogOptions *options, ArkUI_ShadowStyle shadow) 设置弹窗的背板阴影。
int32_t OH_ArkUI_CustomDialog_SetCustomShadow (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *customShadow) 设置弹窗的自定义阴影。
int32_t OH_ArkUI_CustomDialog_SetBackgroundBlurStyle (ArkUI_CustomDialogOptions *options, ArkUI_BlurStyle blurStyle) 设置弹窗的背板模糊材质。
int32_t OH_ArkUI_CustomDialog_SetAlignment (ArkUI_CustomDialogOptions *options, int32_t alignment, float offsetX, float offsetY) 设置弹窗的对齐模式。
int32_t OH_ArkUI_CustomDialog_SetModalMode (ArkUI_CustomDialogOptions *options, bool isModal) 设置自定义弹窗是否开启模态样式的弹窗。
int32_t OH_ArkUI_CustomDialog_SetAutoCancel (ArkUI_CustomDialogOptions *options, bool autoCancel) 设置自定义弹窗是否允许点击遮罩层退出。
int32_t OH_ArkUI_CustomDialog_SetSubwindowMode (ArkUI_CustomDialogOptions *options, bool showInSubwindow) 设置弹窗是否在子窗口显示此弹窗。
int32_t OH_ArkUI_CustomDialog_SetMask (ArkUI_CustomDialogOptions *options, uint32_t maskColor, const ArkUI_Rect *maskRect) 设置自定义弹窗遮罩属性。
int32_t OH_ArkUI_CustomDialog_SetKeyboardAvoidMode (ArkUI_CustomDialogOptions *options, ArkUI_KeyboardAvoidMode keyboardAvoidMode) 设置弹窗避让键盘的模式。
int32_t OH_ArkUI_CustomDialog_SetHoverModeEnabled (ArkUI_CustomDialogOptions *options, bool enabled) 设置弹窗是否响应悬停态。
int32_t OH_ArkUI_CustomDialog_SetHoverModeArea (ArkUI_CustomDialogOptions *options, ArkUI_HoverModeAreaType hoverModeAreaType) 设置悬停态下弹窗默认展示区域。
int32_t OH_ArkUI_CustomDialog_RegisterOnWillDismissCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(ArkUI_DialogDismissEvent *event)) 注册系统关闭自定义弹窗的监听事件。
int32_t OH_ArkUI_CustomDialog_RegisterOnWillAppearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) 注册自定义弹窗显示动效前的监听事件。
int32_t OH_ArkUI_CustomDialog_RegisterOnDidAppearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) 注册自定义弹窗弹出时的监听事件。
int32_t OH_ArkUI_CustomDialog_RegisterOnWillDisappearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) 注册自定义弹窗退出动效前的监听事件。
int32_t OH_ArkUI_CustomDialog_RegisterOnDidDisappearCallback (ArkUI_CustomDialogOptions *options, void* userData, void (*callback)(void* userData)) 注册自定义弹窗消失时的监听事件。
int32_t OH_ArkUI_CustomDialog_GetState (ArkUI_NativeDialogHandle \handle, ArkUI_DialogState *state) 获取弹窗的状态。
int32_t OH_ArkUI_CustomDialog_SetBackgroundBlurStyleOptions (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *backgroundBlurStyleOptions) 设置弹窗的背景模糊效果。
int32_t OH_ArkUI_CustomDialog_SetBackgroundEffect (ArkUI_CustomDialogOptions *options, const ArkUI_AttributeItem *backgroundEffect) 设置弹窗的背景效果参数。

你可能感兴趣的鸿蒙文章

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  赞