• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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