1# ArkUI_NativeDialogAPI_2 2<!--Kit: ArkUI--> 3<!--Subsystem: ArkUI--> 4<!--Owner: @houguobiao--> 5<!--Designer: @liyi0309--> 6<!--Tester: @lxl007--> 7<!--Adviser: @HelloCrease--> 8 9## 概述 10 11ArkUI提供的Native侧自定义弹窗接口集合。 12 13**起始版本:** 15 14 15**相关模块:** [ArkUI_NativeModule](capi-arkui-nativemodule.md) 16 17**所在头文件:** [native_dialog.h](capi-native-dialog-h.md) 18 19## 汇总 20 21### 成员变量 22 23| 名称 | 描述 | 24|----------------------------------------------| -- | 25| [ArkUI_NativeDialogAPI_1](capi-arkui-nativemodule-arkui-nativedialogapi-1.md) nativeDialogAPI1 | ArkUI提供的Native侧自定义弹窗接口集合,范围是[ArkUI_NativeDialogAPI_1](capi-arkui-nativemodule-arkui-nativedialogapi-1.md)。<br>**起始版本:** 15 | 26 27 28### 成员函数 29 30| 名称 | 描述 | 31| -- | -- | 32| [int32_t (\*setKeyboardAvoidDistance)(ArkUI_NativeDialogHandle handle, float distance, ArkUI_LengthMetricUnit unit)](#setkeyboardavoiddistance) | 弹窗避让键盘后,和键盘之间距离。 | 33| [int32_t (\*setLevelMode)(ArkUI_NativeDialogHandle handle, ArkUI_LevelMode levelMode)](#setlevelmode) | 设置弹窗的显示层级。 | 34| [int32_t (\*setLevelUniqueId)(ArkUI_NativeDialogHandle handle, int32_t uniqueId)](#setleveluniqueid) | 设置弹窗显示层级页面下的节点id。 | 35| [int32_t (\*setImmersiveMode)(ArkUI_NativeDialogHandle handle, ArkUI_ImmersiveMode immersiveMode)](#setimmersivemode) | 设置嵌入式弹窗蒙层的显示区域。 | 36 37## 成员函数说明 38 39### setKeyboardAvoidDistance() 40 41``` 42int32_t (*setKeyboardAvoidDistance)(ArkUI_NativeDialogHandle handle, float distance, ArkUI_LengthMetricUnit unit) 43``` 44 45**描述:** 46 47弹窗避让键盘后,和键盘之间距离。 48 49> **说明:** 50> 51> setKeyboardAvoidDistance方法需要在调用[show](capi-arkui-nativemodule-arkui-nativedialogapi-1.md#show)方法之前调用。 52 53**起始版本:** 15 54 55**参数:** 56 57| 参数项 | 描述 | 58|------------------------------------------------------------------------------------| -- | 59| [ArkUI_NativeDialogHandle](capi-arkui-nativemodule-arkui-nativedialog8h.md) handle | 指向自定义弹窗控制器的指针。 | 60| float distance | 避让键盘的距离,单位为vp。 | 61| [ArkUI_LengthMetricUnit](capi-native-type-h.md#arkui_lengthmetricunit) unit | 避让距离的单位,参数类型[ArkUI_LengthMetricUnit](capi-native-type-h.md#arkui_lengthmetricunit)。 | 62 63**返回:** 64 65| 类型 | 说明 | 66| -- | -- | 67| int32_t | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 68 69### setLevelMode() 70 71``` 72int32_t (*setLevelMode)(ArkUI_NativeDialogHandle handle, ArkUI_LevelMode levelMode) 73``` 74 75**描述:** 76 77 78设置弹窗的显示层级。 79 80> **说明:** 81> 82> setLevelMode方法需要在调用[show](capi-arkui-nativemodule-arkui-nativedialogapi-1.md#show)方法之前调用。 83 84**起始版本:** 15 85 86**参数:** 87 88| 参数项 | 描述 | 89|------------------------------------------------------------------------------------| -- | 90| [ArkUI_NativeDialogHandle](capi-arkui-nativemodule-arkui-nativedialog8h.md) handle | 指向自定义弹窗控制器的指针。 | 91| [ArkUI_LevelMode](capi-native-dialog-h.md#arkui_levelmode) levelMode | 显示层级的枚举值, 类型为[ArkUI_LevelMode](capi-native-dialog-h.md#arkui_levelmode)。 | 92 93**返回:** 94 95| 类型 | 说明 | 96| -- | -- | 97| int32_t | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 98 99### setLevelUniqueId() 100 101``` 102int32_t (*setLevelUniqueId)(ArkUI_NativeDialogHandle handle, int32_t uniqueId) 103``` 104 105**描述:** 106 107 108设置弹窗显示层级页面下的节点id。 109 110> **说明:** 111> 112> setLevelUniqueId方法需要在调用[setLevelMode](#setlevelmode)方法之前调用。 113 114**起始版本:** 15 115 116**参数:** 117 118| 参数项 | 描述 | 119| -- | -- | 120| [ArkUI_NativeDialogHandle](capi-arkui-nativemodule-arkui-nativedialog8h.md) handle | 指向自定义弹窗控制器的指针。 | 121| int32_t uniqueId | 指定节点id,会查找该节点所在页面,并将弹窗显示在该页面下。 | 122 123**返回:** 124 125| 类型 | 说明 | 126| -- | -- | 127| int32_t | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 128 129### setImmersiveMode() 130 131``` 132int32_t (*setImmersiveMode)(ArkUI_NativeDialogHandle handle, ArkUI_ImmersiveMode immersiveMode) 133``` 134 135**描述:** 136 137 138设置嵌入式弹窗蒙层的显示区域。 139 140> **说明:** 141> 142> setImmersiveMode方法需要在调用[show](capi-arkui-nativemodule-arkui-nativedialogapi-1.md#show)方法之前调用。 143 144**起始版本:** 15 145 146**参数:** 147 148| 参数项 | 描述 | 149|------------------------------------------------------------------------------------| -- | 150| [ArkUI_NativeDialogHandle](capi-arkui-nativemodule-arkui-nativedialog8h.md) handle | 指向自定义弹窗控制器的指针。 | 151| [ArkUI_ImmersiveMode](capi-native-dialog-h.md#arkui_immersivemode) immersiveMode | 显示区域类型的枚举值, 类型为[ArkUI_ImmersiveMode](capi-native-dialog-h.md#arkui_immersivemode)。 | 152 153**返回:** 154 155| 类型 | 说明 | 156| -- | -- | 157| int32_t | 错误码。<br> [ARKUI_ERROR_CODE_NO_ERROR](capi-native-type-h.md#arkui_errorcode) 成功。<br> [ARKUI_ERROR_CODE_PARAM_INVALID](capi-native-type-h.md#arkui_errorcode) 函数参数异常。 | 158 159 160