harmony 鸿蒙native_dialog.h

2025-06-12 浏览 (1)

native_dialog.h

概述

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

库: libace_ndk.z.so

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

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

起始版本: 12

相关模块:ArkUI_NativeModule

汇总

结构体

名称描述
struct  ArkUI_NativeDialogAPI_1ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_1。
struct  ArkUI_NativeDialogAPI_2ArkUI提供的Native侧自定义弹窗接口集合,范围为ArkUI_NativeDialogAPI_2。
struct  ArkUI_NativeDialogAPI_3ArkUI提供的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

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