js-apis-window.md 109.8 KB
Newer Older
Z
zengyawen 已提交
1 2
# 窗口

G
ge-yafang 已提交
3 4 5 6 7 8
窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。

该模块提供以下窗口相关的常用功能:

- [Window](#window):当前窗口实例,窗口管理器管理的基本单元。
- [WindowStage](#windowstage9):窗口管理器。管理各个基本窗口单元。
G
ge-yafang 已提交
9

G
ge-yafang 已提交
10
> **说明:**
G
ge-yafang 已提交
11
>
12
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
Z
zengyawen 已提交
13 14 15

## 导入模块

G
ge-yafang 已提交
16
```js
Z
zengyawen 已提交
17 18 19
import window from '@ohos.window';
```

G
ge-yafang 已提交
20
## WindowType<sup>7+</sup>
C
chyyy0213 已提交
21

G
ge-yafang 已提交
22
窗口类型枚举。
C
chyyy0213 已提交
23

G
ge-yafang 已提交
24
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
25

G
ge-yafang 已提交
26
| 名称              | 值 | 说明               |
C
chyyy0213 已提交
27
| ----------------- | ------ | ------------------ |
G
ge-yafang 已提交
28
| TYPE_APP          | 0      | 表示应用子窗口。此接口仅可在FA模型下使用。 |
Z
zhirong 已提交
29
| TYPE_SYSTEM_ALERT | 1      | 表示系统告警窗口。 |
G
ge-yafang 已提交
30 31 32 33 34 35 36 37 38 39 40 41 42
| TYPE_INPUT_METHOD<sup>9+</sup> | 2      | 表示输入法窗口。此接口仅可在Stage模型下使用。<br>此接口为系统接口,三方应用不支持调用。 |
| TYPE_STATUS_BAR<sup>9+</sup>   | 3      | 表示状态栏窗口。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_PANEL<sup>9+</sup>        | 4      | 表示通知栏。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_KEYGUARD<sup>9+</sup>     | 5      | 表示锁屏。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_VOLUME_OVERLAY<sup>9+</sup> | 6      | 表示音量条。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_NAVIGATION_BAR<sup>9+</sup> | 7      | 表示导航栏窗口。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_FLOAT<sup>9+</sup> | 8      | 表示悬浮窗。此接口仅可在Stage模型下使用。<br>**需要权限:** ohos.permission.SYSTEM_FLOAT_WINDOW |
| TYPE_WALLPAPER<sup>9+</sup> | 9      | 表示壁纸。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_DESKTOP<sup>9+</sup> | 10      | 表示桌面。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_LAUNCHER_RECENT<sup>9+</sup> | 11      | 表示多任务中心。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_LAUNCHER_DOCK<sup>9+</sup> | 12      | 表示桌面Dock栏。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_VOICE_INTERACTION<sup>9+</sup> | 13      | 表示智慧语音。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
| TYPE_POINTER<sup>9+</sup> | 14      | 表示鼠标。此接口仅可在Stage模型下使用。<br/>此接口为系统接口,三方应用不支持调用。 |
Z
zengyawen 已提交
43

G
ge-yafang 已提交
44
## AvoidAreaType<sup>7+</sup>
陈海莹 已提交
45

G
ge-yafang 已提交
46
窗口内容需要规避区域的类型枚举。
陈海莹 已提交
47

G
ge-yafang 已提交
48
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
49

50 51 52 53 54 55
| 名称                               | 值  | 说明              |
|----------------------------------|-----| ----------------- |
| TYPE_SYSTEM                      | 0   | 表示系统默认区域。|
| TYPE_CUTOUT                      | 1   | 表示刘海屏区域。  |
| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2   | 表示手势区域。    |
| TYPE_KEYBOARD<sup>9+</sup>       | 3   | 表示软键盘区域。  |
陈海莹 已提交
56

G
ge-yafang 已提交
57
## WindowMode<sup>7+</sup>
Z
zengyawen 已提交
58

G
ge-yafang 已提交
59
窗口模式枚举。
Z
zengyawen 已提交
60

C
chyyy0213 已提交
61 62
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
63
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
64

G
ge-yafang 已提交
65 66 67 68 69 70 71
| 名称       | 值   | 说明                          |
| ---------- | ---- | ----------------------------- |
| UNDEFINED  | 1    | 表示APP未定义窗口模式。       |
| FULLSCREEN | 2    | 表示APP全屏模式。             |
| PRIMARY    | 3    | 表示APP分屏多窗口主要模式。   |
| SECONDARY  | 4    | 表示APP分屏多窗口次要模式。   |
| FLOATING   | 5    | 表示APP自由悬浮形式窗口模式。 |
Z
zengyawen 已提交
72

L
leafly2021 已提交
73 74 75 76 77 78 79 80 81 82 83 84 85
## WindowLayoutMode<sup>9+</sup>

窗口布局模式枚举。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

| 名称       | 值   | 说明                          |
| ---------- | ---- | ----------------------------- |
| WINDOW_LAYOUT_MODE_CASCADE  | 0    | 表示使用层叠布局模式。       |
| WINDOW_LAYOUT_MODE_TILE | 1    | 表示使用平铺布局模式。             |

G
ge-yafang 已提交
86
## SystemBarProperties
Z
zengyawen 已提交
87

G
ge-yafang 已提交
88
状态栏、导航栏的属性。
Z
zengyawen 已提交
89

G
ge-yafang 已提交
90
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
91

C
chyyy0213 已提交
92 93
| 名称                                   | 参数类型 | 可读 | 可写 | 说明                                                         |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
94
| statusBarColor                         | string   | 是   | 是   | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
C
chyyy0213 已提交
95 96
| isStatusBarLightIcon<sup>7+</sup>      | boolean  | 否   | 是   | 状态栏图标是否为高亮状态。                                   |
| statusBarContentColor<sup>8+</sup>     | string   | 否   | 是   | 状态栏文字颜色。                                             |
G
ge-yafang 已提交
97
| navigationBarColor                     | string   | 是   | 是   | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
C
chyyy0213 已提交
98 99
| isNavigationBarLightIcon<sup>7+</sup>  | boolean  | 否   | 否   | 导航栏图标是否为高亮状态。                                   |
| navigationBarContentColor<sup>8+</sup> | string   | 否   | 是   | 导航栏文字颜色。                                             |
C
chyyy0213 已提交
100

G
ge-yafang 已提交
101
## SystemBarRegionTint<sup>8+</sup>
C
chyyy0213 已提交
102 103 104

单个导航栏或状态栏回调信息。

C
chyyy0213 已提交
105 106
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
107
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
108

C
chyyy0213 已提交
109 110
| 名称            | 参数类型                  | 可读 | 可写 | 说明                                                         |
| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
C
chyyy0213 已提交
111 112 113
| type            | [WindowType](#windowtype) | 是   | 是   | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
| isEnable        | boolean                   | 是   | 是   | 当前系统栏是否显示。                                         |
| region          | [Rect](#rect)             | 是   | 是   | 当前系统栏的位置及大小。                                     |
G
ge-yafang 已提交
114
| backgroundColor | string                    | 是   | 是   | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
C
chyyy0213 已提交
115
| contentColor    | string                    | 是   | 是   | 系统栏文字颜色。                                             |
Z
zengyawen 已提交
116

G
ge-yafang 已提交
117
## SystemBarTintState<sup>8+</sup>
C
chyyy0213 已提交
118 119 120

当前系统栏回调信息集合。

C
chyyy0213 已提交
121 122
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
123
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
124

G
ge-yafang 已提交
125 126 127 128
| 名称       | 参数类型                                            | 可读 | 可写 | 说明                         |
| ---------- | --------------------------------------------------- | ---- | ---- | ---------------------------- |
| displayId  | number                                              | 是   | 否   | 当前物理屏幕id。             |
| regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | 是   | 是   | 当前已改变的所有系统栏信息。 |
Z
zengyawen 已提交
129

G
ge-yafang 已提交
130
## Rect<sup>7+</sup>
Z
zengyawen 已提交
131

G
ge-yafang 已提交
132
窗口矩形区域。
Z
zengyawen 已提交
133

G
ge-yafang 已提交
134
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
135 136 137 138 139 140 141

| 名称   | 参数类型 | 可读 | 可写 | 说明               |
| ------ | -------- | ---- | ---- | ------------------ |
| left   | number   | 是   | 是   | 矩形区域的左边界。 |
| top    | number   | 是   | 是   | 矩形区域的上边界。 |
| width  | number   | 是   | 是   | 矩形区域的宽度。   |
| height | number   | 是   | 是   | 矩形区域的高度。   |
Z
zengyawen 已提交
142

G
ge-yafang 已提交
143
## AvoidArea<sup>7+</sup>
Z
zengyawen 已提交
144

G
ge-yafang 已提交
145
窗口内容规避区域。
Z
zengyawen 已提交
146

G
ge-yafang 已提交
147
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
148 149 150

| 名称       | 参数类型      | 可读 | 可写 | 说明               |
| ---------- | ------------- | ---- | ---- | ------------------ |
151
| visible<sup>9+</sup>    | boolean       | 是   | 是   | 规避区域是否可见。 |
C
chyyy0213 已提交
152 153 154 155
| leftRect   | [Rect](#rect) | 是   | 是   | 屏幕左侧的矩形区。 |
| topRect    | [Rect](#rect) | 是   | 是   | 屏幕顶部的矩形区。 |
| rightRect  | [Rect](#rect) | 是   | 是   | 屏幕右侧的矩形区。 |
| bottomRect | [Rect](#rect) | 是   | 是   | 屏幕底部的矩形区。 |
Z
zengyawen 已提交
156

G
ge-yafang 已提交
157
## Size<sup>7+</sup>
Z
zengyawen 已提交
158 159 160

窗口大小。

G
ge-yafang 已提交
161
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
162 163 164 165 166

| 名称   | 参数类型 | 可读 | 可写 | 说明       |
| ------ | -------- | ---- | ---- | ---------- |
| width  | number   | 是   | 是   | 窗口宽度。 |
| height | number   | 是   | 是   | 窗口高度。 |
Z
zengyawen 已提交
167

G
ge-yafang 已提交
168
## WindowProperties
Z
zengyawen 已提交
169 170 171

窗口属性。

G
ge-yafang 已提交
172
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
173

G
ge-yafang 已提交
174 175 176 177 178 179 180 181 182
| 名称                            | 参数类型                  | 可读 | 可写 | 说明                                         |
| ------------------------------- | ------------------------- | ---- | ---- | -------------------------------------------- |
| windowRect<sup>7+</sup>         | [Rect](#rect)             | 是   | 是   | 窗口尺寸。                                   |
| type<sup>7+</sup>               | [WindowType](#windowtype) | 是   | 是   | 窗口类型。                                   |
| isFullScreen                    | boolean                   | 是   | 是   | 是否全屏,默认为false。                      |
| isLayoutFullScreen<sup>7+</sup> | boolean                   | 是   | 是   | 窗口是否为沉浸式,默认为false。              |
| focusable<sup>7+</sup>          | boolean                   | 是   | 否   | 窗口是否可聚焦,默认为true。                 |
| touchable<sup>7+</sup>          | boolean                   | 是   | 否   | 窗口是否可触摸,默认为true。                 |
| brightness                      | number                    | 是   | 是   | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。  |
Z
xxx  
zhirong 已提交
183
| dimBehindValue<sup>(deprecated)</sup>     | number                    | 是   | 是   | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。<br>- **说明:** 从API version 9开始废弃。<br>- 从 API version 7开始支持|
G
ge-yafang 已提交
184 185 186 187
| isKeepScreenOn                  | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。                  |
| isPrivacyMode<sup>7+</sup>      | boolean                   | 是   | 是   | 隐私模式,默认为false。                      |
| isRoundCorner<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。                |
| isTransparent<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否透明。默认为false。                  |
Z
zengyawen 已提交
188

G
ge-yafang 已提交
189
## ColorSpace<sup>8+</sup>
Z
zengyawen 已提交
190

C
chyyy0213 已提交
191
色域模式。
Z
zengyawen 已提交
192

G
ge-yafang 已提交
193
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
194 195 196 197 198

| 名称       | 默认值 | 说明           |
| ---------- | ------ | -------------- |
| DEFAULT    | 0      | 默认色域模式。 |
| WIDE_GAMUT | 1      | 广色域模式。   |
Z
zengyawen 已提交
199

Z
zengyawen 已提交
200
## window.create<sup>7+</sup>
Z
zengyawen 已提交
201

C
chyyy0213 已提交
202
create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
203

G
ge-yafang 已提交
204
创建子窗口,使用callback异步回调。
Z
zengyawen 已提交
205

G
ge-yafang 已提交
206
此接口仅可在FA模型下使用。
Z
zengyawen 已提交
207

G
ge-yafang 已提交
208
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
209

G
ge-yafang 已提交
210
**参数:** 
C
chyyy0213 已提交
211

G
ge-yafang 已提交
212 213 214 215 216
| 参数名   | 类型                                   | 必填 | 说明                                 |
| -------- | -------------------------------------- | ---- | ------------------------------------ |
| id       | string                                 | 是   | 窗口id。                             |
| type     | [WindowType](#windowtype)              | 是   | 窗口类型。                           |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。 |
Z
zengyawen 已提交
217

G
ge-yafang 已提交
218
**示例:** 
Z
zengyawen 已提交
219

G
ge-yafang 已提交
220 221 222 223 224 225 226 227 228 229
```js
var windowClass = null;
 let promise = window.create("first", window.WindowType.TYPE_APP);
 promise.then((data)=> {
 	windowClass = data;
    console.info('SubWindow created. Data: ' + JSON.stringify(data));
 }).catch((err)=>{
    console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
 });
```
C
chyyy0213 已提交
230

Z
zengyawen 已提交
231
## window.create<sup>7+</sup>
C
chyyy0213 已提交
232 233 234

create(id: string, type: WindowType): Promise&lt;Window&gt;

G
ge-yafang 已提交
235
创建子窗口,使用Promise异步回调。
C
chyyy0213 已提交
236

G
ge-yafang 已提交
237
此接口仅可在FA模型下使用。
Z
zengyawen 已提交
238

G
ge-yafang 已提交
239
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
240

G
ge-yafang 已提交
241
**参数:** 
C
chyyy0213 已提交
242

G
ge-yafang 已提交
243 244 245 246
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| id     | string                    | 是   | 窗口id。   |
| type   | [WindowType](#windowtype) | 是   | 窗口类型。 |
C
chyyy0213 已提交
247

G
ge-yafang 已提交
248
**返回值:** 
C
chyyy0213 已提交
249

G
ge-yafang 已提交
250 251 252
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
C
chyyy0213 已提交
253

G
ge-yafang 已提交
254
**示例:** 
C
chyyy0213 已提交
255

G
ge-yafang 已提交
256 257 258 259 260 261 262 263 264 265
```js
var windowClass = null;
let promise = window.create("first", window.WindowType.TYPE_APP);
promise.then((data)=> {
    windowClass = data;
    console.info('SubWindow created. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
266

C
chyyy0213 已提交
267
## window.create<sup>8+</sup>
Z
zengyawen 已提交
268

C
chyyy0213 已提交
269
create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
270

G
ge-yafang 已提交
271
创建子窗口,使用callback异步回调,其中Context详见[Context](js-apis-Context.md)
G
ge-yafang 已提交
272

G
ge-yafang 已提交
273
从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用callback异步回调。
Z
zengyawen 已提交
274

G
ge-yafang 已提交
275
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
276

G
ge-yafang 已提交
277
**参数:** 
Z
zengyawen 已提交
278

G
ge-yafang 已提交
279 280 281 282 283
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx      | Context                                | 是   | 当前应用上下文信息。<br>API version 8的Context定义见[Context](js-apis-Context.md)<br>API version 9的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id       | string                                 | 是   | 窗口id。                                                     |
| type     | [WindowType](#windowtype)              | 是   | 窗口类型。                                                   |
G
ge-yafang 已提交
284
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。                         |
Z
zengyawen 已提交
285

G
ge-yafang 已提交
286
**示例:** 
Z
zengyawen 已提交
287

G
ge-yafang 已提交
288 289 290 291 292 293 294 295 296 297 298 299
```js
var windowClass = null;
 window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
    if (err.code) {
        console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Window created. Data: ' + JSON.stringify(data));
    windowClass.resetSize(500, 1000);
});
```
C
chyyy0213 已提交
300 301 302

## window.create<sup>8+</sup>

C
chyyy0213 已提交
303
create(ctx: Context, id: string, type: WindowType): Promise&lt;Window&gt;
C
chyyy0213 已提交
304

G
ge-yafang 已提交
305
创建子窗口,使用Promise异步回调,其中Context详见[Context](js-apis-Context.md)
G
ge-yafang 已提交
306

G
ge-yafang 已提交
307
从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用Promise异步回调。
C
chyyy0213 已提交
308

G
ge-yafang 已提交
309
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
310

G
ge-yafang 已提交
311
**参数:** 
C
chyyy0213 已提交
312

G
ge-yafang 已提交
313 314 315 316 317
| 参数名 | 类型                      | 必填 | 说明                                                         |
| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
| ctx    | Context                   | 是   | 当前应用上下文信息。<br/>API version 8的Context定义见[Context](js-apis-Context.md)<br/>API version 9的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id     | string                    | 是   | 窗口id。                                                     |
| type   | [WindowType](#windowtype) | 是   | 窗口类型。                                                   |
C
chyyy0213 已提交
318

G
ge-yafang 已提交
319
**返回值:** 
C
chyyy0213 已提交
320

G
ge-yafang 已提交
321 322 323
| 类型                             | 说明                                    |
| -------------------------------- | --------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
C
chyyy0213 已提交
324

G
ge-yafang 已提交
325
**示例:** 
C
chyyy0213 已提交
326

G
ge-yafang 已提交
327 328 329 330 331 332 333 334 335 336
```js
var windowClass = null;
let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT);
promise.then((data)=> {
 	windowClass = data;
    console.info('Window created. Data:' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
337

G
ge-yafang 已提交
338
## window.find<sup>7+</sup>
Z
zengyawen 已提交
339 340 341

find(id: string, callback: AsyncCallback&lt;Window&gt;): void

G
ge-yafang 已提交
342
查找id所对应的窗口,使用callback异步回调。
C
chyyy0213 已提交
343

G
ge-yafang 已提交
344
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
345

G
ge-yafang 已提交
346
**参数:** 
C
chyyy0213 已提交
347

G
ge-yafang 已提交
348 349 350 351
| 参数名   | 类型                                   | 必填 | 说明                                 |
| -------- | -------------------------------------- | ---- | ------------------------------------ |
| id       | string                                 | 是   | 窗口id。                             |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前查找到的窗口对象。 |
Z
zengyawen 已提交
352

G
ge-yafang 已提交
353
**示例:** 
C
chyyy0213 已提交
354

G
ge-yafang 已提交
355 356 357 358 359 360 361 362 363 364 365
```js
var windowClass = null;
 window.find("alertWindow", (err, data) => {
   if (err.code) {
       console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
       return;
   }
   windowClass = data;
   console.info('window found. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
366 367 368 369 370

## window.find<sup>7+</sup>

find(id: string): Promise&lt;Window&gt;

G
ge-yafang 已提交
371
查找id所对应的窗口,使用Promise异步回调。
C
chyyy0213 已提交
372

G
ge-yafang 已提交
373
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
374

G
ge-yafang 已提交
375
**参数:** 
C
chyyy0213 已提交
376

G
ge-yafang 已提交
377 378 379
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| id     | string | 是   | 窗口id。 |
C
chyyy0213 已提交
380

G
ge-yafang 已提交
381
**返回值:** 
C
chyyy0213 已提交
382

G
ge-yafang 已提交
383 384 385
| 类型                             | 说明                                  |
| -------------------------------- | ------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前查找的窗口对象。 |
C
chyyy0213 已提交
386

G
ge-yafang 已提交
387
**示例:** 
C
chyyy0213 已提交
388

G
ge-yafang 已提交
389 390 391 392 393 394 395 396 397 398
```js
var windowClass = null;
let promise = window.find("alertWindow");
promise.then((data)=> {
 	windowClass = data;
    console.info('window found. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
399

G
ge-yafang 已提交
400
## window.getTopWindow
Z
zengyawen 已提交
401

C
chyyy0213 已提交
402
getTopWindow(callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
403

G
ge-yafang 已提交
404
获取当前应用内最后显示的窗口,使用callback异步回调。
Z
zengyawen 已提交
405

G
ge-yafang 已提交
406
此接口仅可在FA模型下使用。
G
ge-yafang 已提交
407

G
ge-yafang 已提交
408
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
409

G
ge-yafang 已提交
410
**参数:** 
C
chyyy0213 已提交
411

G
ge-yafang 已提交
412 413 414
| 参数名   | 类型                                   | 必填 | 说明                                         |
| -------- | -------------------------------------- | ---- | -------------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。 |
Z
zengyawen 已提交
415

G
ge-yafang 已提交
416
**示例:** 
C
chyyy0213 已提交
417

G
ge-yafang 已提交
418 419 420 421 422 423 424 425 426 427 428
```js
var windowClass = null;
window.getTopWindow((err, data) => {
    if (err.code) {
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
429

C
chyyy0213 已提交
430 431 432 433
## window.getTopWindow

getTopWindow(): Promise&lt;Window&gt;

G
ge-yafang 已提交
434
获取当前应用内最后显示的窗口,使用Promise异步回调。
C
chyyy0213 已提交
435

G
ge-yafang 已提交
436
此接口仅可在FA模型下使用。
G
ge-yafang 已提交
437

G
ge-yafang 已提交
438
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
439

G
ge-yafang 已提交
440
**返回值:** 
C
chyyy0213 已提交
441

G
ge-yafang 已提交
442 443 444
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
C
chyyy0213 已提交
445

G
ge-yafang 已提交
446
**示例:** 
C
chyyy0213 已提交
447

G
ge-yafang 已提交
448 449 450 451 452 453 454 455 456 457
```js
var windowClass = null;
let promise = window.getTopWindow();
promise.then((data)=> {
 	windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
458 459

## window.getTopWindow<sup>8+</sup>
Z
zengyawen 已提交
460

C
chyyy0213 已提交
461
getTopWindow(ctx: Context, callback: AsyncCallback&lt;Window&gt;): void
Z
zengyawen 已提交
462

G
ge-yafang 已提交
463
获取当前应用内最后显示的窗口,使用callback异步回调。
Z
zengyawen 已提交
464

G
ge-yafang 已提交
465
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
466

G
ge-yafang 已提交
467
**参数:** 
C
chyyy0213 已提交
468

G
ge-yafang 已提交
469 470 471
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx      | Context                                | 是   | 当前应用上下文信息。<br>API version 8的Context定义见[Context](js-apis-Context.md)<br>API version 9的Context定义见[Context](js-apis-ability-context.md)。 |
G
ge-yafang 已提交
472
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。                 |
Z
zengyawen 已提交
473

G
ge-yafang 已提交
474
**示例:** 
C
chyyy0213 已提交
475

G
ge-yafang 已提交
476 477 478 479 480 481 482 483 484 485 486
```js
var windowClass = null;
window.getTopWindow(this.context, (err, data) => {
    if (err.code) {
        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
        return;
    }
    windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
487

C
chyyy0213 已提交
488 489 490 491
## window.getTopWindow<sup>8+</sup>

getTopWindow(ctx: Context): Promise&lt;Window&gt;

G
ge-yafang 已提交
492
获取当前应用内最后显示的窗口,使用Promise异步回调。
C
chyyy0213 已提交
493

G
ge-yafang 已提交
494
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
495

G
ge-yafang 已提交
496
**参数:** 
C
chyyy0213 已提交
497

G
ge-yafang 已提交
498 499 500
| 参数名 | 类型    | 必填 | 说明                                                         |
| ------ | ------- | ---- | ------------------------------------------------------------ |
| ctx    | Context | 是   | 当前应用上下文信息。<br/>API version 8的Context定义见[Context](js-apis-Context.md)<br/>API version 9的Context定义见[Context](js-apis-ability-context.md)。 |
C
chyyy0213 已提交
501

G
ge-yafang 已提交
502
**返回值:** 
C
chyyy0213 已提交
503

G
ge-yafang 已提交
504 505 506
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
C
chyyy0213 已提交
507

G
ge-yafang 已提交
508
**示例:** 
C
chyyy0213 已提交
509

G
ge-yafang 已提交
510 511 512 513 514 515 516 517 518 519
```js
var windowClass = null;
let promise = window.getTopWindow(this.context);
promise.then((data)=> {
 	windowClass = data;
    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
520

L
leafly2021 已提交
521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550
## window.minimizeAll<sup>9+</sup>
minimizeAll(id: number, callback: AsyncCallback&lt;void&gt;): void

最小化某显示设备下的所有窗口。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**示例:**

```js
import display from '@ohos.display'
import window from '@ohos.window'

var displayClass = null;
display.getDefaultDisplay((err, data) => {
    if(err.code) {
        return;
    }
    displayClass = data;
    window.minimizeAll(displayClass.id, (err, data) => {
        if(err.code) {
551
            console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
552 553
            return;
        }
554
        console.info('Succeeded in minimizing all windows.');
L
leafly2021 已提交
555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578 579 580 581 582 583 584 585 586 587 588 589 590 591 592 593
    });
});
```

## window.minimizeAll<sup>9+</sup>
minimizeAll(id: number): Promise&lt;void&gt;

最小化某显示设备下的所有窗口。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号 |

**返回值:** 

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
import display from '@ohos.display'
import window from '@ohos.window'

var displayClass = null;
display.getDefaultDisplay((err, data) => {
    if(err.code) {
        return;
    }
    displayClass = data;
    let promise = window.minimizeAll(displayClass.id);
    promise.then((data)=> {
594
        console.info('Succeeded in minimizing all windows.');
L
leafly2021 已提交
595
    }).catch((err)=>{
596
        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
L
leafly2021 已提交
597 598 599 600 601 602 603 604 605 606 607 608 609 610 611 612 613 614 615 616 617 618 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 636 637 638 639 640 641 642 643 644 645 646 647 648 649 650 651 652 653 654 655 656 657 658 659 660 661 662 663 664 665 666 667 668 669 670 671 672 673 674 675 676 677 678 679 680 681 682 683 684 685 686 687 688 689 690 691 692 693 694 695 696 697 698 699 700 701 702 703 704 705 706 707 708 709
    })
});
```

## window.toggleShownStateForAllAppWindows<sup>9+</sup>
toggleShownStateForAllAppWindows(callback: AsyncCallback&lt;void&gt;): void

多窗口快速切换时隐藏或者恢复应用窗口。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**示例:**

```js
window.toggleShownStateForAllAppWindows((err, data) => {
    if (err.code) {
        console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in toggling shown state for all app windows.');
})
```

## window.toggleShownStateForAllAppWindows<sup>9+</sup>
toggleShownStateForAllAppWindows(): Promise&lt;void&gt;

多窗口快速切换时隐藏或者恢复应用窗口。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**返回值:** 

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
let promise = window.toggleShownStateForAllAppWindows();
promise.then((data)=> {
    console.info('Succeeded in toggling shown state for all app windows. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
})
```

## window.setWindowLayoutMode<sup>9+</sup>
setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback&lt;void&gt;): void

设置窗口布局模式。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| mode       | [WindowLayoutMode](#windowlayoutmode9)                  | 是   | 设置的窗口布局模式 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |

**示例:**

```js
window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (data) => {
    console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data));
});
```

## window.setWindowLayoutMode<sup>9+</sup>
setWindowLayoutMode(mode: WindowLayoutMode): Promise&lt;void&gt;

设置窗口布局模式。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                      | 必填 | 说明           |
| -------- | ------------------------- | ---- | -------------- |
| mode       | [WindowLayoutMode](#windowlayoutmode9)                    | 是   | 设置的窗口布局模式 |

**返回值:** 

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```js
let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE);
promise.then((data)=> {
    console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
})
```

C
chyyy0213 已提交
710
## on('systemBarTintChange')<sup>8+</sup>
Z
zengyawen 已提交
711

C
chyyy0213 已提交
712
on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): void
Z
zengyawen 已提交
713

G
ge-yafang 已提交
714
开启状态栏、导航栏属性变化的监听。
Z
zengyawen 已提交
715

C
chyyy0213 已提交
716 717
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
718
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
719

G
ge-yafang 已提交
720
**参数:** 
C
chyyy0213 已提交
721

G
ge-yafang 已提交
722 723 724
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
G
ge-yafang 已提交
725
| callback | Callback&lt;[SystemBarTintState](#systembartintstate)&gt; | 是   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
Z
zengyawen 已提交
726

G
ge-yafang 已提交
727
**示例:** 
C
chyyy0213 已提交
728

G
ge-yafang 已提交
729 730 731 732 733
```js
window.on('systemBarTintChange', (data) => {
    console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
734

C
chyyy0213 已提交
735
## off('systemBarTintChange')<sup>8+</sup>
Z
zengyawen 已提交
736

C
chyyy0213 已提交
737
off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;): void
Z
zengyawen 已提交
738

G
ge-yafang 已提交
739
关闭状态栏、导航栏属性变化的监听。
Z
zengyawen 已提交
740

C
chyyy0213 已提交
741 742
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
743
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
744

G
ge-yafang 已提交
745
**参数:** 
C
chyyy0213 已提交
746

G
ge-yafang 已提交
747 748 749
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
G
ge-yafang 已提交
750
| callback | Callback&lt;[SystemBarTintState](#systembartintstate)&gt; | 否   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
Z
zengyawen 已提交
751

G
ge-yafang 已提交
752
**示例:** 
C
chyyy0213 已提交
753

G
ge-yafang 已提交
754 755 756
```js
window.off('systemBarTintChange');
```
Z
zengyawen 已提交
757 758 759

## Window

G
ge-yafang 已提交
760 761
当前窗口实例,窗口管理器管理的基本单元。

G
ge-yafang 已提交
762
下列API示例中都需先使用[getTopWindow()](#windowgettopwindow)[create()](#windowcreate7)[find()](#windowfind7)中的任一方法获取到Window实例,再通过此实例调用对应方法。
Z
zengyawen 已提交
763

C
chyyy0213 已提交
764
### hide<sup>7+</sup>
Z
zengyawen 已提交
765

C
chyyy0213 已提交
766
hide (callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
767

G
ge-yafang 已提交
768
隐藏当前窗口,使用callback异步回调。
Z
zengyawen 已提交
769

C
chyyy0213 已提交
770 771
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
772
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
773

G
ge-yafang 已提交
774
**参数:** 
C
chyyy0213 已提交
775

G
ge-yafang 已提交
776 777 778
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
779

G
ge-yafang 已提交
780
**示例:** 
C
chyyy0213 已提交
781

G
ge-yafang 已提交
782 783 784 785 786 787 788 789 790
```js
windowClass.hide((err, data) => {
    if (err.code) {
        console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('window hidden. data: ' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
791

C
chyyy0213 已提交
792 793
### hide<sup>7+</sup>

C
chyyy0213 已提交
794
hide(): Promise&lt;void&gt;
C
chyyy0213 已提交
795

G
ge-yafang 已提交
796
隐藏当前窗口,使用Promise异步回调。
C
chyyy0213 已提交
797

C
chyyy0213 已提交
798 799
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
800
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
801

G
ge-yafang 已提交
802
**返回值:** 
C
chyyy0213 已提交
803

G
ge-yafang 已提交
804 805 806
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
807

G
ge-yafang 已提交
808
**示例:** 
C
chyyy0213 已提交
809

G
ge-yafang 已提交
810 811 812 813 814 815 816 817
```js
let promise = windowClass.hide();
promise.then((data)=> {
    console.info('window hidden. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
818

C
chyyy0213 已提交
819
### show<sup>7+</sup>
Z
zengyawen 已提交
820

C
chyyy0213 已提交
821
show(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
822

G
ge-yafang 已提交
823
显示当前窗口,使用callback异步回调。
Z
zengyawen 已提交
824

G
ge-yafang 已提交
825
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
826

G
ge-yafang 已提交
827
**参数:** 
C
chyyy0213 已提交
828

G
ge-yafang 已提交
829 830 831
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
832

G
ge-yafang 已提交
833
**示例:** 
C
chyyy0213 已提交
834

G
ge-yafang 已提交
835 836 837 838 839 840 841 842 843
```js
windowClass.show((err, data) => {
    if (err.code) {
        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
844

C
chyyy0213 已提交
845 846 847 848
### show<sup>7+</sup>

show(): Promise&lt;void&gt;

G
ge-yafang 已提交
849
显示当前窗口,使用Promise异步回调。
C
chyyy0213 已提交
850

G
ge-yafang 已提交
851
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
852

G
ge-yafang 已提交
853
**返回值:** 
C
chyyy0213 已提交
854

G
ge-yafang 已提交
855 856 857
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
858

G
ge-yafang 已提交
859
**示例:** 
C
chyyy0213 已提交
860

G
ge-yafang 已提交
861 862 863 864 865 866 867 868
```js
let promise = windowClass.show();
promise.then((data)=> {
    console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
869

C
chyyy0213 已提交
870 871 872
### destroy<sup>7+</sup>

destroy(callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
873

G
ge-yafang 已提交
874
销毁当前窗口,使用callback异步回调。
Z
zengyawen 已提交
875

G
ge-yafang 已提交
876
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
877

G
ge-yafang 已提交
878
**参数:** 
C
chyyy0213 已提交
879

G
ge-yafang 已提交
880 881 882
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
883

G
ge-yafang 已提交
884
**示例:** 
C
chyyy0213 已提交
885

G
ge-yafang 已提交
886 887 888 889 890 891 892 893 894
```js
windowClass.destroy((err, data) => {
    if (err.code) {
        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
895

C
chyyy0213 已提交
896 897 898 899
### destroy<sup>7+</sup>

destroy(): Promise&lt;void&gt;

G
ge-yafang 已提交
900
销毁当前窗口,使用Promise异步回调。
C
chyyy0213 已提交
901

G
ge-yafang 已提交
902
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
903

G
ge-yafang 已提交
904
**返回值:** 
C
chyyy0213 已提交
905

G
ge-yafang 已提交
906 907 908
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
909

G
ge-yafang 已提交
910
**示例:** 
C
chyyy0213 已提交
911

G
ge-yafang 已提交
912 913 914 915 916 917 918 919
```js
let promise = windowClass.destroy();
promise.then((data)=> {
    console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
920

C
chyyy0213 已提交
921
### moveTo<sup>7+</sup>
Z
zengyawen 已提交
922

C
chyyy0213 已提交
923
moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
924

G
ge-yafang 已提交
925
移动窗口位置,使用callback异步回调。
C
chyyy0213 已提交
926

G
ge-yafang 已提交
927
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
928

G
ge-yafang 已提交
929
**参数:** 
C
chyyy0213 已提交
930

G
ge-yafang 已提交
931 932 933 934 935
| 参数名   | 类型                      | 必填 | 说明                                              |
| -------- | ------------------------- | ---- | ------------------------------------------------- |
| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                        |
Z
zengyawen 已提交
936

G
ge-yafang 已提交
937
**示例:** 
C
chyyy0213 已提交
938

G
ge-yafang 已提交
939 940 941 942 943 944 945 946 947 948
```js
windowClass.moveTo(300, 300, (err, data)=>{
    if (err.code) {
        console.error('Failed to move the window. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Window moved. Data: ' + JSON.stringify(data));

});
```
Z
zengyawen 已提交
949

C
chyyy0213 已提交
950 951 952 953
### moveTo<sup>7+</sup>

moveTo(x: number, y: number): Promise&lt;void&gt;

G
ge-yafang 已提交
954
移动窗口位置,使用Promise异步回调。
C
chyyy0213 已提交
955

G
ge-yafang 已提交
956
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
957

G
ge-yafang 已提交
958
**参数:** 
C
chyyy0213 已提交
959

G
ge-yafang 已提交
960 961 962 963
| 参数名 | 类型   | 必填 | 说明                                              |
| ------ | ------ | ---- | ------------------------------------------------- |
| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
C
chyyy0213 已提交
964

G
ge-yafang 已提交
965
**返回值:** 
C
chyyy0213 已提交
966

G
ge-yafang 已提交
967 968 969
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
970

G
ge-yafang 已提交
971
**示例:** 
C
chyyy0213 已提交
972

G
ge-yafang 已提交
973 974 975 976 977 978 979 980
```js
let promise = windowClass.moveTo(300, 300);
promise.then((data)=> {
    console.info('Window moved. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
})
```
C
chyyy0213 已提交
981

C
chyyy0213 已提交
982 983 984
### resetSize<sup>7+</sup>

resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
985

G
ge-yafang 已提交
986
改变当前窗口大小,使用callback异步回调。
Z
zengyawen 已提交
987

G
ge-yafang 已提交
988
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
989

G
ge-yafang 已提交
990
**参数:** 
C
chyyy0213 已提交
991

G
ge-yafang 已提交
992 993 994 995 996
| 参数名   | 类型                      | 必填 | 说明                       |
| -------- | ------------------------- | ---- | -------------------------- |
| width    | number                    | 是   | 目标窗口的宽度,单位为px。 |
| height   | number                    | 是   | 目标窗口的高度,单位为px。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                 |
Z
zengyawen 已提交
997

G
ge-yafang 已提交
998
**示例:** 
C
chyyy0213 已提交
999

G
ge-yafang 已提交
1000 1001 1002 1003 1004 1005 1006 1007 1008
```js
windowClass.resetSize(500, 1000, (err, data) => {
    if (err.code) {
        console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Window size changed. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
1009

C
chyyy0213 已提交
1010 1011 1012 1013
### resetSize<sup>7+</sup>

resetSize(width: number, height: number): Promise&lt;void&gt;

G
ge-yafang 已提交
1014
改变当前窗口大小,使用Promise异步回调。
C
chyyy0213 已提交
1015

G
ge-yafang 已提交
1016
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1017

G
ge-yafang 已提交
1018
**参数:** 
C
chyyy0213 已提交
1019

G
ge-yafang 已提交
1020 1021 1022 1023
| 参数名 | 类型   | 必填 | 说明                       |
| ------ | ------ | ---- | -------------------------- |
| width  | number | 是   | 目标窗口的宽度,单位为px。 |
| height | number | 是   | 目标窗口的高度,单位为px。 |
C
chyyy0213 已提交
1024

G
ge-yafang 已提交
1025
**返回值:** 
C
chyyy0213 已提交
1026

G
ge-yafang 已提交
1027 1028 1029
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1030

G
ge-yafang 已提交
1031
**示例:** 
C
chyyy0213 已提交
1032

G
ge-yafang 已提交
1033 1034 1035 1036 1037 1038 1039 1040
```js
let promise = windowClass.resetSize(500, 1000);
promise.then((data)=> {
    console.info('Window size changed. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
1041

1042 1043 1044 1045
### setWindowType<sup>7+</sup>

setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
1046
设置窗口类型,使用callback异步回调。
1047

C
chyyy0213 已提交
1048 1049
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
1050
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1051

G
ge-yafang 已提交
1052
**参数:** 
C
chyyy0213 已提交
1053

G
ge-yafang 已提交
1054 1055 1056 1057
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| type     | [WindowType](#windowtype) | 是   | 窗口类型。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1058

G
ge-yafang 已提交
1059
**示例:** 
C
chyyy0213 已提交
1060

G
ge-yafang 已提交
1061 1062 1063 1064 1065 1066 1067 1068 1069 1070
```js
var type = window.WindowType.TYPE_APP;
windowClass.setWindowType(type, (err, data) => {
  if (err.code) {
      console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
      return;
  }
  console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data));
});
```
1071

C
chyyy0213 已提交
1072 1073 1074 1075
### setWindowType<sup>7+</sup>

setWindowType(type: WindowType): Promise&lt;void&gt;

G
ge-yafang 已提交
1076
设置窗口类型,使用Promise异步回调。
C
chyyy0213 已提交
1077

C
chyyy0213 已提交
1078 1079
此接口为系统接口,三方应用不支持调用。

G
ge-yafang 已提交
1080
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1081

G
ge-yafang 已提交
1082
**参数:** 
C
chyyy0213 已提交
1083

G
ge-yafang 已提交
1084 1085 1086
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| type   | [WindowType](#windowtype) | 是   | 窗口类型。 |
C
chyyy0213 已提交
1087

G
ge-yafang 已提交
1088
**返回值:** 
C
chyyy0213 已提交
1089

G
ge-yafang 已提交
1090 1091 1092
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1093

G
ge-yafang 已提交
1094
**示例:** 
C
chyyy0213 已提交
1095

G
ge-yafang 已提交
1096 1097 1098 1099 1100 1101 1102 1103 1104
```js
var type = window.WindowType.TYPE_APP;
let promise = windowClass.setWindowType(type);
promise.then((data)=> {
    console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
1105

C
chyyy0213 已提交
1106
### getProperties
Z
zengyawen 已提交
1107

C
chyyy0213 已提交
1108
getProperties(callback: AsyncCallback&lt;WindowProperties&gt;): void
Z
zengyawen 已提交
1109

G
ge-yafang 已提交
1110
获取当前窗口的属性,使用callback异步回调,返回WindowProperties。
Z
zengyawen 已提交
1111

G
ge-yafang 已提交
1112
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1113

G
ge-yafang 已提交
1114
**参数:** 
C
chyyy0213 已提交
1115

G
ge-yafang 已提交
1116 1117 1118
| 参数名   | 类型                                                       | 必填 | 说明                         |
| -------- | ---------------------------------------------------------- | ---- | ---------------------------- |
| callback | AsyncCallback&lt;[WindowProperties](#windowproperties)&gt; | 是   | 回调函数。返回当前窗口属性。 |
Z
zengyawen 已提交
1119

G
ge-yafang 已提交
1120
**示例:** 
C
chyyy0213 已提交
1121

G
ge-yafang 已提交
1122 1123 1124 1125 1126 1127 1128 1129 1130
```js
windowClass.getProperties((err, data) => {
    if (err.code) {
        console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
1131

C
chyyy0213 已提交
1132 1133 1134 1135
### getProperties

getProperties(): Promise&lt;WindowProperties&gt;

G
ge-yafang 已提交
1136
获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。
C
chyyy0213 已提交
1137

G
ge-yafang 已提交
1138
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1139

G
ge-yafang 已提交
1140
**返回值:** 
C
chyyy0213 已提交
1141

G
ge-yafang 已提交
1142 1143 1144
| 类型                                                 | 说明                            |
| ---------------------------------------------------- | ------------------------------- |
| Promise&lt;[WindowProperties](#windowproperties)&gt; | Promise对象。返回当前窗口属性。 |
C
chyyy0213 已提交
1145

G
ge-yafang 已提交
1146
**示例:** 
C
chyyy0213 已提交
1147

G
ge-yafang 已提交
1148 1149 1150 1151 1152 1153 1154 1155
```js
let promise = windowClass.getProperties();
promise.then((data)=> {
    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
1156

C
chyyy0213 已提交
1157
### getAvoidArea<sup>7+</sup>
Z
zengyawen 已提交
1158

1159
getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt;): void
Z
zengyawen 已提交
1160

G
ge-yafang 已提交
1161
获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用callback异步回调。
C
chyyy0213 已提交
1162

G
ge-yafang 已提交
1163
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1164

G
ge-yafang 已提交
1165
**参数:** 
C
chyyy0213 已提交
1166

1167 1168 1169 1170
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- |-----------------------------------------------| ---- | ------------------------------------------------------------ |
| type     | [AvoidAreaType](#avoidareatype7)              | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 |
| callback | AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回窗口内容规避区域。                             |
Z
zengyawen 已提交
1171

G
ge-yafang 已提交
1172
**示例:** 
C
chyyy0213 已提交
1173

G
ge-yafang 已提交
1174 1175 1176 1177 1178 1179 1180 1181 1182 1183
```js
var type = window.AvoidAreaType.TYPE_SYSTEM;
windowClass.getAvoidArea(type, (err, data) => {
    if (err.code) {
        console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
1184

C
chyyy0213 已提交
1185 1186
### getAvoidArea<sup>7+</sup>

1187
getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise&lt;[AvoidArea](#avoidarea7)&gt;
C
chyyy0213 已提交
1188

G
ge-yafang 已提交
1189
获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用Promise异步回调。
C
chyyy0213 已提交
1190

G
ge-yafang 已提交
1191
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1192

G
ge-yafang 已提交
1193
**参数:** 
C
chyyy0213 已提交
1194

1195 1196 1197
| 参数名 | 类型                               | 必填 | 说明                                                         |
| ------ |----------------------------------| ---- | ------------------------------------------------------------ |
| type   | [AvoidAreaType](#avoidareatype7) | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 |
C
chyyy0213 已提交
1198

G
ge-yafang 已提交
1199
**返回值:** 
C
chyyy0213 已提交
1200

1201 1202 1203
| 类型                                      | 说明                                |
|-----------------------------------------| ----------------------------------- |
| Promise&lt;[AvoidArea](#avoidarea7)&gt; | Promise对象。返回窗口内容规避区域。 |
C
chyyy0213 已提交
1204

G
ge-yafang 已提交
1205
**示例:** 
C
chyyy0213 已提交
1206

G
ge-yafang 已提交
1207 1208 1209 1210 1211 1212 1213 1214
```js
let promise = windowClass.getAvoidArea();
promise.then((data)=> {
    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
1215

C
chyyy0213 已提交
1216 1217 1218
### setFullScreen

setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1219

G
ge-yafang 已提交
1220
设置是否为全屏状态,使用callback异步回调。
Z
zengyawen 已提交
1221

G
ge-yafang 已提交
1222
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1223

G
ge-yafang 已提交
1224
**参数:** 
C
chyyy0213 已提交
1225

G
ge-yafang 已提交
1226 1227 1228 1229
| 参数名       | 类型                      | 必填 | 说明                                           |
| ------------ | ------------------------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean                   | 是   | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 |
| callback     | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                     |
Z
zengyawen 已提交
1230

G
ge-yafang 已提交
1231
**示例:** 
C
chyyy0213 已提交
1232

G
ge-yafang 已提交
1233 1234 1235 1236 1237 1238 1239 1240 1241 1242
```js
var isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err, data) => {
    if (err.code) {
        console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1243 1244 1245 1246 1247

### setFullScreen

setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;

G
ge-yafang 已提交
1248
设置是否为全屏状态,使用Promise异步回调。
C
chyyy0213 已提交
1249

G
ge-yafang 已提交
1250
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1251

G
ge-yafang 已提交
1252
**参数:** 
C
chyyy0213 已提交
1253

G
ge-yafang 已提交
1254 1255 1256
| 参数名       | 类型    | 必填 | 说明                                           |
| ------------ | ------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean | 是   | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 |
C
chyyy0213 已提交
1257

G
ge-yafang 已提交
1258
**返回值:** 
C
chyyy0213 已提交
1259

G
ge-yafang 已提交
1260 1261 1262
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1263

G
ge-yafang 已提交
1264
**示例:** 
C
chyyy0213 已提交
1265

G
ge-yafang 已提交
1266 1267 1268 1269 1270 1271 1272 1273 1274
```js
var isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen);
promise.then((data)=> {
    console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1275

C
chyyy0213 已提交
1276 1277 1278
### setLayoutFullScreen<sup>7+</sup>

setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1279

G
ge-yafang 已提交
1280
设置窗口的布局是否为全屏显示状态,使用callback异步回调。
Z
zengyawen 已提交
1281

G
ge-yafang 已提交
1282
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1283

G
ge-yafang 已提交
1284
**参数:** 
C
chyyy0213 已提交
1285

G
ge-yafang 已提交
1286 1287 1288 1289
| 参数名             | 类型                      | 必填 | 说明                                                         |
| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean                   | 是   | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 |
| callback           | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
Z
zengyawen 已提交
1290

G
ge-yafang 已提交
1291
**示例:** 
C
chyyy0213 已提交
1292

G
ge-yafang 已提交
1293 1294 1295 1296 1297 1298 1299 1300 1301 1302
```js
var isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => {
    if (err.code) {
        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1303 1304 1305 1306 1307

### setLayoutFullScreen<sup>7+</sup>

setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;

G
ge-yafang 已提交
1308
设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
C
chyyy0213 已提交
1309

G
ge-yafang 已提交
1310
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1311

G
ge-yafang 已提交
1312
**参数:** 
C
chyyy0213 已提交
1313

G
ge-yafang 已提交
1314 1315 1316
| 参数名             | 类型    | 必填 | 说明                                                         |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean | 是   | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 |
C
chyyy0213 已提交
1317

G
ge-yafang 已提交
1318
**返回值:** 
C
chyyy0213 已提交
1319

G
ge-yafang 已提交
1320 1321 1322
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1323

G
ge-yafang 已提交
1324
**示例:** 
C
chyyy0213 已提交
1325

G
ge-yafang 已提交
1326 1327 1328 1329 1330 1331 1332 1333 1334
```js
var isLayoutFullScreen = true;
let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
promise.then((data)=> {
    console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1335 1336 1337

### setSystemBarEnable<sup>7+</sup>

C
chyyy0213 已提交
1338
setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1339

G
ge-yafang 已提交
1340
设置导航栏、状态栏的可见模式,使用callback异步回调。
Z
zengyawen 已提交
1341

G
ge-yafang 已提交
1342
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1343

G
ge-yafang 已提交
1344
**参数:** 
C
chyyy0213 已提交
1345

G
ge-yafang 已提交
1346 1347
| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
1348
| names    | Array                     | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为["status",&nbsp;"navigation"];不设置,则默认不显示。 |
G
ge-yafang 已提交
1349
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
Z
zengyawen 已提交
1350

G
ge-yafang 已提交
1351
**示例:** 
C
chyyy0213 已提交
1352

G
ge-yafang 已提交
1353 1354 1355 1356 1357 1358 1359 1360 1361 1362
```js
var names = ["status", "navigation"];
windowClass.setSystemBarEnable(names, (err, data) => {
    if (err.code) {
        console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1363 1364 1365 1366 1367

### setSystemBarEnable<sup>7+</sup>

setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;

G
ge-yafang 已提交
1368
设置导航栏、状态栏的可见模式,使用Promise异步回调。
C
chyyy0213 已提交
1369

G
ge-yafang 已提交
1370
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1371

G
ge-yafang 已提交
1372
**参数:** 
C
chyyy0213 已提交
1373

G
ge-yafang 已提交
1374 1375
| 参数名 | 类型  | 必填 | 说明                                                         |
| ------ | ----- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
1376
| names  | Array | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为["status",&nbsp;"navigation"];不设置,则默认不显示。 |
C
chyyy0213 已提交
1377

G
ge-yafang 已提交
1378
**返回值:** 
C
chyyy0213 已提交
1379

G
ge-yafang 已提交
1380 1381 1382
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1383

G
ge-yafang 已提交
1384
**示例:** 
C
chyyy0213 已提交
1385

G
ge-yafang 已提交
1386 1387 1388 1389 1390 1391 1392 1393 1394
```js
var names = ["status", "navigation"];
let promise = windowClass.setSystemBarEnable(names);
promise.then((data)=> {
    console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1395 1396 1397 1398 1399

### setSystemBarProperties

setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
1400
设置窗口内导航栏、状态栏的属性,使用callback异步回调。
C
chyyy0213 已提交
1401

G
ge-yafang 已提交
1402
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1403

G
ge-yafang 已提交
1404
**参数:** 
C
chyyy0213 已提交
1405

G
ge-yafang 已提交
1406 1407 1408 1409
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
Z
zengyawen 已提交
1410

G
ge-yafang 已提交
1411
**示例:** 
C
chyyy0213 已提交
1412

G
ge-yafang 已提交
1413 1414 1415 1416 1417 1418 1419 1420 1421 1422 1423 1424 1425 1426 1427 1428 1429 1430 1431
```js
var SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version7开始支持
    isStatusBarLightIcon: true,
    isNavigationBarLightIcon:false,
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => {
    if (err.code) {
        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1432 1433 1434 1435 1436

### setSystemBarProperties

setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;

G
ge-yafang 已提交
1437
设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
C
chyyy0213 已提交
1438

G
ge-yafang 已提交
1439
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1440

G
ge-yafang 已提交
1441
**参数:** 
C
chyyy0213 已提交
1442

G
ge-yafang 已提交
1443 1444 1445
| 参数名              | 类型                                        | 必填 | 说明                   |
| ------------------- | ------------------------------------------- | ---- | ---------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
C
chyyy0213 已提交
1446

G
ge-yafang 已提交
1447
**返回值:** 
C
chyyy0213 已提交
1448

G
ge-yafang 已提交
1449 1450 1451 1452 1453 1454 1455 1456 1457 1458 1459 1460 1461 1462 1463 1464 1465 1466 1467 1468 1469 1470 1471 1472
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:** 

```js
var SystemBarProperties={
    statusBarColor: '#ff00ff',
    navigationBarColor: '#00ff00',
    //以下两个属性从API Version7开始支持
    isStatusBarLightIcon: true,
    isNavigationBarLightIcon:false,
    //以下两个属性从API Version8开始支持
    statusBarContentColor:'#ffffff',
    navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then((data)=> {
    console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1473

C
chyyy0213 已提交
1474
### loadContent<sup>7+</sup>
Z
zengyawen 已提交
1475

C
chyyy0213 已提交
1476
loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1477

G
ge-yafang 已提交
1478
为当前窗口加载具体页面内容,使用callback异步回调。
Z
zengyawen 已提交
1479

G
ge-yafang 已提交
1480
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1481

G
ge-yafang 已提交
1482
**参数:** 
Z
zengyawen 已提交
1483

G
ge-yafang 已提交
1484 1485 1486 1487
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
G
ge-yafang 已提交
1488

G
ge-yafang 已提交
1489
**示例:** 
Z
zengyawen 已提交
1490

G
ge-yafang 已提交
1491 1492 1493 1494 1495 1496 1497 1498 1499
```js
windowClass.loadContent("pages/page2/page2", (err, data) => {
   if (err.code) {
         console.error('Failed to load the content. Cause:' + JSON.stringify(err));
         return;
   }
  console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1500

C
chyyy0213 已提交
1501
### loadContent<sup>7+</sup>
C
chyyy0213 已提交
1502

C
chyyy0213 已提交
1503
loadContent(path: string): Promise&lt;void&gt;
C
chyyy0213 已提交
1504

G
ge-yafang 已提交
1505
为当前窗口加载具体页面内容,使用Promise异步回调。
C
chyyy0213 已提交
1506

G
ge-yafang 已提交
1507
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1508

G
ge-yafang 已提交
1509
**参数:** 
C
chyyy0213 已提交
1510

G
ge-yafang 已提交
1511 1512 1513
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| path   | string | 是   | 设置加载页面的路径。 |
G
ge-yafang 已提交
1514

G
ge-yafang 已提交
1515
**返回值:** 
C
chyyy0213 已提交
1516

G
ge-yafang 已提交
1517 1518 1519
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1520

G
ge-yafang 已提交
1521
**示例:** 
C
chyyy0213 已提交
1522

G
ge-yafang 已提交
1523 1524 1525 1526 1527 1528 1529 1530 1531 1532 1533 1534 1535 1536 1537 1538 1539 1540 1541 1542
```js
let promise = windowClass.loadContent("pages/page2/page2");
promise.then((data)=> {
    console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
});
```
### loadContent<sup>9+</sup>

loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void

为当前窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。

此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:** 

G
ge-yafang 已提交
1543 1544 1545 1546 1547
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
| storage  | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
G
ge-yafang 已提交
1548 1549 1550 1551 1552 1553 1554 1555 1556 1557 1558 1559 1560 1561 1562 1563 1564 1565 1566 1567 1568 1569 1570 1571 1572 1573 1574 1575 1576 1577 1578 1579 1580

**示例:**

```ts
class myAbility extends Ability {
    storage : LocalStorage  
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate("storageSimpleProp",121);
        console.log('onWindowStageCreate');
        windowStage.loadContent("pages/page2",this.storage,(err, data) => {
            if (err.code) {
                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
        });
    }
}
```

### loadContent<sup>9+</sup>

loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt;

为当前窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。

此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:** 

G
ge-yafang 已提交
1581 1582 1583 1584
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
1585 1586 1587 1588 1589 1590

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
zengyawen 已提交
1591

G
ge-yafang 已提交
1592 1593 1594 1595 1596 1597 1598 1599 1600 1601 1602 1603 1604 1605 1606 1607 1608 1609 1610 1611
**示例:**

```ts
class myAbility extends Ability {
    storage : LocalStorage 
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate("storageSimpleProp",121);
        console.log('onWindowStageCreate');
        var windowClass = null;
        let promise = windowStage.loadContent("pages/page2",this.storage);
        promise.then((data)=> {
            windowClass = data;
            console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
        }).catch((err)=>{
            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
        })
    }
}
```
C
chyyy0213 已提交
1612
### isShowing<sup>7+</sup>
Z
zengyawen 已提交
1613

C
chyyy0213 已提交
1614 1615
isShowing(callback: AsyncCallback&lt;boolean&gt;): void

G
ge-yafang 已提交
1616
判断当前窗口是否已显示,使用callback异步回调。
Z
zengyawen 已提交
1617

G
ge-yafang 已提交
1618
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1619

G
ge-yafang 已提交
1620
**参数:** 
C
chyyy0213 已提交
1621

G
ge-yafang 已提交
1622 1623 1624
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口已显示,返回false则表示当前窗口未显示。 |
Z
zengyawen 已提交
1625

G
ge-yafang 已提交
1626
**示例:** 
C
chyyy0213 已提交
1627

G
ge-yafang 已提交
1628 1629 1630 1631 1632 1633 1634 1635 1636
```js
windowClass.isShowing((err, data) => {
    if (err.code) {
        console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1637 1638 1639 1640 1641

### isShowing<sup>7+</sup>

isShowing(): Promise&lt;boolean&gt;

G
ge-yafang 已提交
1642
判断当前窗口是否已显示,使用Promise异步回调。
C
chyyy0213 已提交
1643

G
ge-yafang 已提交
1644
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1645

G
ge-yafang 已提交
1646
**返回值:** 
C
chyyy0213 已提交
1647

G
ge-yafang 已提交
1648 1649 1650
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口已显示,返回false则表示当前窗口未显示。 |
C
chyyy0213 已提交
1651

G
ge-yafang 已提交
1652
**示例:** 
C
chyyy0213 已提交
1653

G
ge-yafang 已提交
1654 1655 1656 1657 1658 1659 1660 1661
```js
let promise = windowClass.isShowing();
promise.then((data)=> {
    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
});
```
Z
zengyawen 已提交
1662

C
chyyy0213 已提交
1663
### on('windowSizeChange')<sup>7+</sup>
Z
zengyawen 已提交
1664

C
chyyy0213 已提交
1665
on(type:  'windowSizeChange', callback: Callback&lt;Size&gt;): void
Z
zengyawen 已提交
1666

G
ge-yafang 已提交
1667
开启窗口尺寸变化的监听。
C
chyyy0213 已提交
1668

G
ge-yafang 已提交
1669
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1670

G
ge-yafang 已提交
1671
**参数:** 
C
chyyy0213 已提交
1672

G
ge-yafang 已提交
1673 1674 1675 1676
| 参数名   | 类型                           | 必填 | 说明                                                     |
| -------- | ------------------------------ | ---- | -------------------------------------------------------- |
| type     | string                         | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size7)&gt; | 是   | 回调函数。返回当前的窗口尺寸。                           |
Z
zengyawen 已提交
1677

G
ge-yafang 已提交
1678
**示例:** 
C
chyyy0213 已提交
1679

G
ge-yafang 已提交
1680 1681 1682 1683 1684
```js
windowClass.on('windowSizeChange', (data) => {
    console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
});
```
Z
zengyawen 已提交
1685

C
chyyy0213 已提交
1686
### off('windowSizeChange')<sup>7+</sup>
Z
zengyawen 已提交
1687

C
chyyy0213 已提交
1688
off(type: 'windowSizeChange', callback?: Callback&lt;Size &gt;): void
Z
zengyawen 已提交
1689

G
ge-yafang 已提交
1690
关闭窗口尺寸变化的监听。
C
chyyy0213 已提交
1691

G
ge-yafang 已提交
1692
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1693

G
ge-yafang 已提交
1694
**参数:** 
C
chyyy0213 已提交
1695

G
ge-yafang 已提交
1696 1697 1698
| 参数名   | 类型                          | 必填 | 说明                                                     |
| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
G
ge-yafang 已提交
1699
| callback | Callback&lt;[Size](#size)&gt; | 否   | 回调函数。返回当前的窗口尺寸。                           |
Z
zengyawen 已提交
1700

G
ge-yafang 已提交
1701
**示例:** 
C
chyyy0213 已提交
1702

G
ge-yafang 已提交
1703 1704 1705
```js
windowClass.off('windowSizeChange');
```
Z
zengyawen 已提交
1706

1707
### on('systemAvoidAreaChange')<sup>(deprecated)</sup>
C
chyyy0213 已提交
1708

1709
on(type: 'systemAvoidAreaChange', callback: Callback&lt;[AvoidArea](#avoidarea7)&gt;): void
C
chyyy0213 已提交
1710

1711 1712 1713 1714
开启系统规避区变化的监听。
> **说明:** 从API version 9开始废弃,推荐使用[on('avoidAreaChange')](#onavoidareachange9)。
>
> 从 API version 7开始支持。
C
chyyy0213 已提交
1715

G
ge-yafang 已提交
1716
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1717

G
ge-yafang 已提交
1718
**参数:** 
C
chyyy0213 已提交
1719

1720 1721 1722 1723
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回当前规避区。                             |
C
chyyy0213 已提交
1724

G
ge-yafang 已提交
1725
**示例:** 
C
chyyy0213 已提交
1726

G
ge-yafang 已提交
1727 1728 1729 1730 1731
```js
windowClass.on('systemAvoidAreaChange', (data) => {
    console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1732

1733
### off('systemAvoidAreaChange')<sup>(deprecated)</sup>
C
chyyy0213 已提交
1734

1735
off(type: 'systemAvoidAreaChange', callback?: Callback&lt;[AvoidArea](#avoidarea7)&gt;): void
C
chyyy0213 已提交
1736

1737 1738 1739 1740
关闭系统规避区变化的监听。
> **说明:** 从API version 9开始废弃,推荐使用[off('avoidAreaChange')](#offavoidareachange9)。
>
> 从 API version 7开始支持。
C
chyyy0213 已提交
1741

G
ge-yafang 已提交
1742
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1743

G
ge-yafang 已提交
1744
**参数:** 
C
chyyy0213 已提交
1745

1746 1747 1748 1749
| 参数名   | 类型                                       | 必填 | 说明                                                    |
| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 否   | 回调函数。返回当前规避区。                            |
C
chyyy0213 已提交
1750

G
ge-yafang 已提交
1751
**示例:** 
C
chyyy0213 已提交
1752

G
ge-yafang 已提交
1753 1754 1755
```js
windowClass.off('systemAvoidAreaChange');
```
C
chyyy0213 已提交
1756

1757 1758 1759 1760 1761 1762 1763 1764 1765 1766 1767 1768 1769 1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798 1799 1800 1801

### on('avoidAreaChange')<sup>9+</sup>

on(type: 'avoidAreaChange', callback: Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt;): void

开启系统规避区变化的监听。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                                                               | 必填 | 说明                                   |
| -------- |------------------------------------------------------------------| ---- |--------------------------------------|
| type     | string                                                           | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 是   | 回调函数。返回当前规避区以及规避区类型。|

**示例:**

```js
windowClass.on('avoidAreaChange', (type, data) => {
    console.info('Succeeded in enabling the listener for system avoid area changes. type:'  + JSON.stringify(type) + 'Data: ' + JSON.stringify(data));
});
```

### off('avoidAreaChange')<sup>9+</sup>

off(type: 'avoidAreaChange', callback: Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt;): void

关闭系统规避区变化的监听。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                                                                          | 必填  | 说明                                 |
| -------- |-----------------------------------------------------------------------------|-----|------------------------------------|
| type     | string                                                                      | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 否   | 回调函数。返回当前规避区以及规避区类型。|

**示例:**

```js
windowClass.off('avoidAreaChange');
```

C
chyyy0213 已提交
1802 1803 1804 1805 1806 1807
### on('keyboardHeightChange')<sup>7+</sup>

on(type: 'keyboardHeightChange', callback: Callback&lt;number&gt;): void

开启键盘高度变化的监听。

G
ge-yafang 已提交
1808
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1809

G
ge-yafang 已提交
1810
**参数:** 
C
chyyy0213 已提交
1811

G
ge-yafang 已提交
1812 1813 1814 1815
| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callback<number&gt; | 是   | 回调函数。返回当前的键盘高度。                               |
C
chyyy0213 已提交
1816

G
ge-yafang 已提交
1817
**示例:** 
C
chyyy0213 已提交
1818

G
ge-yafang 已提交
1819 1820 1821 1822 1823
```js
windowClass.on('keyboardHeightChange', (data) => {
    console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
1824 1825 1826 1827 1828 1829 1830

### off('keyboardHeightChange')<sup>7+</sup>

off(type: 'keyboardHeightChange', callback?: Callback&lt;number&gt;): void

关闭键盘高度变化的监听。

G
ge-yafang 已提交
1831
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1832

G
ge-yafang 已提交
1833
**参数:** 
C
chyyy0213 已提交
1834

G
ge-yafang 已提交
1835 1836 1837
| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
G
ge-yafang 已提交
1838
| callback | Callback&lt;number&gt; | 否   | 回调函数。返回当前的键盘高度。                               |
C
chyyy0213 已提交
1839

G
ge-yafang 已提交
1840
**示例:** 
C
chyyy0213 已提交
1841

G
ge-yafang 已提交
1842 1843 1844
```js
windowClass.off('keyboardHeightChange');
```
C
chyyy0213 已提交
1845

D
dubj 已提交
1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870 1871 1872 1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890 1891
### on('touchOutside')<sup>9+</sup>

on(type: 'touchOutside', callback: Callback&lt;void&gt;): void

开启本窗口区域范围外的点击事件的监听。
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                | 必填 | 说明                                                         |
| -------- | ------------------- | ---- | ------------------------------------------------------------ |
| type     | string              | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
| callback | Callback<void&gt; | 是   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |

**示例:**

```js
windowClass.on('touchOutside', () => {
    console.info('touch outside');
});
```

### off('touchOutside')<sup>9+</sup>

off(type: 'touchOutside', callback?: Callback&lt;void&gt;): void

关闭本窗口区域范围外的点击事件的监听。
此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
| callback | Callback&lt;number&gt; | 否   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |

**示例:**

```js
windowClass.off('touchOutside');
```

C
chyyy0213 已提交
1892
### isSupportWideGamut<sup>8+</sup>
Z
zengyawen 已提交
1893

C
chyyy0213 已提交
1894
isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
C
chyyy0213 已提交
1895

G
ge-yafang 已提交
1896
判断当前窗口是否支持广色域模式,使用callback异步回调。
Z
zengyawen 已提交
1897

G
ge-yafang 已提交
1898
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1899

G
ge-yafang 已提交
1900
**参数:** 
C
chyyy0213 已提交
1901

G
ge-yafang 已提交
1902 1903 1904
| 参数名   | 类型                         | 必填 | 说明                                                         |
| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 |
Z
zengyawen 已提交
1905

G
ge-yafang 已提交
1906
**示例:** 
C
chyyy0213 已提交
1907

G
ge-yafang 已提交
1908 1909 1910 1911 1912 1913 1914 1915 1916
```js
windowClass.isSupportWideGamut((err, data) => {
    if (err.code) {
        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
1917

C
chyyy0213 已提交
1918 1919 1920 1921
### isSupportWideGamut<sup>8+</sup>

isSupportWideGamut(): Promise&lt;boolean&gt;

G
ge-yafang 已提交
1922
判断当前窗口是否支持广色域模式,使用Promise异步回调。
C
chyyy0213 已提交
1923

G
ge-yafang 已提交
1924
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1925

G
ge-yafang 已提交
1926
**返回值:** 
C
chyyy0213 已提交
1927

G
ge-yafang 已提交
1928 1929
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
G
ge-yafang 已提交
1930
| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 |
C
chyyy0213 已提交
1931

G
ge-yafang 已提交
1932
**示例:** 
C
chyyy0213 已提交
1933

G
ge-yafang 已提交
1934 1935 1936 1937 1938 1939 1940 1941
```js
let promise = windowClass.isSupportWideGamut();
promise.then((data)=> {
    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
1942

C
chyyy0213 已提交
1943 1944
### setColorSpace<sup>8+</sup>

C
chyyy0213 已提交
1945
setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
Z
zengyawen 已提交
1946

G
ge-yafang 已提交
1947
设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
Z
zengyawen 已提交
1948

G
ge-yafang 已提交
1949
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
1950

G
ge-yafang 已提交
1951
**参数:** 
C
chyyy0213 已提交
1952

G
ge-yafang 已提交
1953 1954 1955 1956
| 参数名     | 类型                      | 必填 | 说明         |
| ---------- | ------------------------- | ---- | ------------ |
| colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式 |
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。   |
Z
zengyawen 已提交
1957

G
ge-yafang 已提交
1958
**示例:** 
C
chyyy0213 已提交
1959

G
ge-yafang 已提交
1960 1961 1962 1963 1964 1965 1966 1967 1968
```js
windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => {
    if (err.code) {
        console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
1969

C
chyyy0213 已提交
1970 1971 1972 1973
### setColorSpace<sup>8+</sup>

setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;

G
ge-yafang 已提交
1974
设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
C
chyyy0213 已提交
1975

G
ge-yafang 已提交
1976
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
1977

G
ge-yafang 已提交
1978
**参数:** 
C
chyyy0213 已提交
1979

G
ge-yafang 已提交
1980 1981 1982
| 参数名     | 类型                      | 必填 | 说明           |
| ---------- | ------------------------- | ---- | -------------- |
| colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式。 |
C
chyyy0213 已提交
1983

G
ge-yafang 已提交
1984
**返回值:** 
C
chyyy0213 已提交
1985

G
ge-yafang 已提交
1986 1987 1988
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
1989

G
ge-yafang 已提交
1990
**示例:** 
C
chyyy0213 已提交
1991

G
ge-yafang 已提交
1992 1993 1994 1995 1996 1997 1998 1999
```js
let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT);
promise.then((data)=> {
    console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2000

C
chyyy0213 已提交
2001
### getColorSpace<sup>8+</sup>
Z
zengyawen 已提交
2002

C
chyyy0213 已提交
2003
getColorSpace(callback: AsyncCallback&lt;ColorSpace&gt;): void
Z
zengyawen 已提交
2004

G
ge-yafang 已提交
2005
获取当前窗口色域模式,使用callback异步回调。
Z
zengyawen 已提交
2006

G
ge-yafang 已提交
2007
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
Z
zengyawen 已提交
2008

G
ge-yafang 已提交
2009
**参数:** 
C
chyyy0213 已提交
2010

G
ge-yafang 已提交
2011 2012 2013
| 参数名   | 类型                                           | 必填 | 说明                                                       |
| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- |
| callback | AsyncCallback&lt;[ColorSpace](#colorspace)&gt; | 是   | 回调函数。当获取成功,err为undefined,data为当前色域模式。 |
Z
zengyawen 已提交
2014

G
ge-yafang 已提交
2015
**示例:** 
C
chyyy0213 已提交
2016

G
ge-yafang 已提交
2017 2018 2019 2020 2021 2022 2023 2024 2025
```js
windowClass.getColorSpace((err, data) => {
    if (err.code) {
        console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
})
```
Z
zengyawen 已提交
2026

C
chyyy0213 已提交
2027 2028 2029 2030
### getColorSpace<sup>8+</sup>

getColorSpace(): Promise&lt;ColorSpace&gt;

G
ge-yafang 已提交
2031
获取当前窗口色域模式,使用Promise异步回调。
C
chyyy0213 已提交
2032

G
ge-yafang 已提交
2033
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2034

G
ge-yafang 已提交
2035
**返回值:** 
C
chyyy0213 已提交
2036

G
ge-yafang 已提交
2037 2038 2039
| 类型                                     | 说明                            |
| ---------------------------------------- | ------------------------------- |
| Promise&lt;[ColorSpace](#colorspace)&gt; | Promise对象。返回当前色域模式。 |
C
chyyy0213 已提交
2040

G
ge-yafang 已提交
2041
**示例:** 
C
chyyy0213 已提交
2042

G
ge-yafang 已提交
2043 2044 2045 2046 2047 2048 2049 2050
```js
let promise = windowClass.getColorSpace();
promise.then((data)=> {
    console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2051

C
chyyy0213 已提交
2052 2053 2054 2055
### setBackgroundColor

setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void

D
dubj 已提交
2056
设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。
C
chyyy0213 已提交
2057

G
ge-yafang 已提交
2058
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2059

G
ge-yafang 已提交
2060
**参数:** 
C
chyyy0213 已提交
2061

G
ge-yafang 已提交
2062 2063
| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
2064
| color    | string                    | 是   | 需要设置的背景色,为十六进制颜色,不区分大小写,例如`#00FF00``#FF00FF00`。 |
G
ge-yafang 已提交
2065
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
C
chyyy0213 已提交
2066

G
ge-yafang 已提交
2067
**示例:** 
C
chyyy0213 已提交
2068

G
ge-yafang 已提交
2069 2070 2071 2072 2073 2074 2075 2076 2077 2078
```js
var color = '#00ff33';
windowClass.setBackgroundColor(color, (err, data) => {
    if (err.code) {
        console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
2079 2080 2081 2082 2083

### setBackgroundColor

setBackgroundColor(color: string): Promise&lt;void&gt;

D
dubj 已提交
2084
设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。
C
chyyy0213 已提交
2085

G
ge-yafang 已提交
2086
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2087

G
ge-yafang 已提交
2088
**参数:** 
C
chyyy0213 已提交
2089

G
ge-yafang 已提交
2090 2091
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
2092
| color  | string | 是   | 需要设置的背景色,为十六进制颜色,不区分大小写,例如"#00FF00"或"#FF00FF00"。 |
C
chyyy0213 已提交
2093

G
ge-yafang 已提交
2094
**返回值:** 
C
chyyy0213 已提交
2095

G
ge-yafang 已提交
2096 2097 2098
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2099

G
ge-yafang 已提交
2100
**示例:** 
C
chyyy0213 已提交
2101

G
ge-yafang 已提交
2102 2103 2104 2105 2106 2107 2108 2109 2110
```js
var color = '#00ff33';
let promise = windowClass.setBackgroundColor(color);
promise.then((data)=> {
    console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2111 2112 2113 2114 2115

### setBrightness

setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2116
设置屏幕亮度值,使用callback异步回调。
C
chyyy0213 已提交
2117

G
ge-yafang 已提交
2118
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2119

G
ge-yafang 已提交
2120
**参数:** 
C
chyyy0213 已提交
2121

G
ge-yafang 已提交
2122 2123 2124 2125
| 参数名     | 类型                      | 必填 | 说明                                 |
| ---------- | ------------------------- | ---- | ------------------------------------ |
| brightness | number                    | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                           |
C
chyyy0213 已提交
2126

G
ge-yafang 已提交
2127
**示例:** 
C
chyyy0213 已提交
2128

G
ge-yafang 已提交
2129 2130 2131 2132 2133 2134 2135 2136 2137 2138
```js
var brightness = 1;
windowClass.setBrightness(brightness, (err, data) => {
    if (err.code) {
        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
2139 2140 2141 2142 2143

### setBrightness

setBrightness(brightness: number): Promise&lt;void&gt;

G
ge-yafang 已提交
2144
设置屏幕亮度值,使用Promise异步回调。
C
chyyy0213 已提交
2145

G
ge-yafang 已提交
2146
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2147

G
ge-yafang 已提交
2148
**参数:** 
C
chyyy0213 已提交
2149

G
ge-yafang 已提交
2150 2151 2152
| 参数名     | 类型   | 必填 | 说明                                 |
| ---------- | ------ | ---- | ------------------------------------ |
| brightness | number | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
C
chyyy0213 已提交
2153

G
ge-yafang 已提交
2154
**返回值:** 
C
chyyy0213 已提交
2155

G
ge-yafang 已提交
2156 2157 2158
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2159

G
ge-yafang 已提交
2160
**示例:** 
C
chyyy0213 已提交
2161

G
ge-yafang 已提交
2162 2163 2164 2165 2166 2167 2168 2169 2170
```js
var brightness = 1;
let promise = windowClass.setBrightness(brightness);
promise.then((data)=> {
    console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2171

Z
xxx  
zhirong 已提交
2172 2173 2174 2175
### setDimBehind<sup>(deprecated)</sup>

setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2176
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。
Z
xxx  
zhirong 已提交
2177 2178 2179 2180 2181 2182 2183 2184 2185

> **说明:** 从API version 9开始废弃。
> 
> 从 API version 7开始支持。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

G
ge-yafang 已提交
2186 2187 2188 2189
| 参数名         | 类型                      | 必填 | 说明                                               |
| -------------- | ------------------------- | ---- | -------------------------------------------------- |
| dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                         |
Z
xxx  
zhirong 已提交
2190 2191 2192

**示例:**

G
ge-yafang 已提交
2193 2194 2195 2196 2197 2198 2199 2200 2201
```js
windowClass.setDimBehind(0.5, (err, data) => {
    if (err.code) {
        console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data));
});
```
Z
xxx  
zhirong 已提交
2202 2203 2204 2205 2206

### setDimBehind<sup>(deprecated)</sup>

setDimBehind(dimBehindValue: number): Promise&lt;void&gt;

G
ge-yafang 已提交
2207
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。
Z
xxx  
zhirong 已提交
2208 2209 2210 2211 2212 2213 2214 2215 2216

> **说明:** 从API version 9开始废弃。
> 
> 从 API version 7开始支持。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

G
ge-yafang 已提交
2217 2218 2219
| 参数名         | 类型   | 必填 | 说明                                               |
| -------------- | ------ | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
Z
xxx  
zhirong 已提交
2220 2221 2222

**返回值:**

G
ge-yafang 已提交
2223 2224 2225
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
2226 2227 2228

**示例:**

G
ge-yafang 已提交
2229 2230 2231 2232 2233 2234 2235 2236
```js
let promise = windowClass.setDimBehind(0.5);
promise.then((data)=> {
    console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
});
```
Z
xxx  
zhirong 已提交
2237

C
chyyy0213 已提交
2238 2239 2240 2241
### setFocusable<sup>7+</sup>

setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2242
设置点击时是否支持切换焦点窗口,使用callback异步回调。
C
chyyy0213 已提交
2243

G
ge-yafang 已提交
2244
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2245

G
ge-yafang 已提交
2246
**参数:** 
C
chyyy0213 已提交
2247

G
ge-yafang 已提交
2248 2249 2250 2251
| 参数名      | 类型                      | 必填 | 说明                         |
| ----------- | ------------------------- | ---- | ---------------------------- |
| isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |
C
chyyy0213 已提交
2252

G
ge-yafang 已提交
2253
**示例:** 
C
chyyy0213 已提交
2254

G
ge-yafang 已提交
2255 2256 2257 2258 2259 2260 2261 2262 2263 2264
```js
var isFocusable= true;
windowClass.setFocusable(isFocusable, (err, data) => {
    if (err.code) {
        console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
});
```
C
chyyy0213 已提交
2265 2266 2267 2268 2269

### setFocusable<sup>7+</sup>

setFocusable(isFocusable: boolean): Promise&lt;void&gt;

G
ge-yafang 已提交
2270
设置点击时是否支持切换焦点窗口,使用Promise异步回调。
C
chyyy0213 已提交
2271

G
ge-yafang 已提交
2272
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2273

G
ge-yafang 已提交
2274
**参数:** 
C
chyyy0213 已提交
2275

G
ge-yafang 已提交
2276 2277 2278
| 参数名      | 类型    | 必填 | 说明                         |
| ----------- | ------- | ---- | ---------------------------- |
| isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。 |
C
chyyy0213 已提交
2279

G
ge-yafang 已提交
2280
**返回值:** 
C
chyyy0213 已提交
2281

G
ge-yafang 已提交
2282 2283 2284
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2285

G
ge-yafang 已提交
2286
**示例:** 
C
chyyy0213 已提交
2287

G
ge-yafang 已提交
2288 2289 2290 2291 2292 2293 2294 2295 2296
```js
var isFocusable= true;
let promise = windowClass.setFocusable(isFocusable);
promise.then((data)=> {
    console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2297 2298 2299 2300 2301

### setKeepScreenOn

setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2302
设置屏幕是否为常亮状态,使用callback异步回调。
C
chyyy0213 已提交
2303

G
ge-yafang 已提交
2304
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2305

G
ge-yafang 已提交
2306
**参数:** 
C
chyyy0213 已提交
2307

G
ge-yafang 已提交
2308 2309
| 参数名         | 类型                      | 必填 | 说明                     |
| -------------- | ------------------------- | ---- | ------------------------ |
G
ge-yafang 已提交
2310
| isKeepScreenOn | boolean                   | 是   | 设置屏幕是否为常亮状态。 |
G
ge-yafang 已提交
2311
| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |
C
chyyy0213 已提交
2312

G
ge-yafang 已提交
2313
**示例:** 
C
chyyy0213 已提交
2314

G
ge-yafang 已提交
2315 2316 2317 2318 2319 2320 2321 2322 2323 2324
```js
var isKeepScreenOn = true;
windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => {
    if (err.code) {
        console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
});
```
Z
xxx  
zhirong 已提交
2325

G
ge-yafang 已提交
2326
### setKeepScreenOn
Z
xxx  
zhirong 已提交
2327

G
ge-yafang 已提交
2328
setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
Z
xxx  
zhirong 已提交
2329

G
ge-yafang 已提交
2330
设置屏幕是否为常亮状态,使用Promise异步回调。
Z
xxx  
zhirong 已提交
2331 2332 2333

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

G
ge-yafang 已提交
2334 2335 2336 2337 2338 2339 2340
**参数:** 

| 参数名         | 类型    | 必填 | 说明                     |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是   | 设置屏幕是否为常亮状态。 |

**返回值:** 
Z
xxx  
zhirong 已提交
2341

G
ge-yafang 已提交
2342 2343 2344
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
Z
xxx  
zhirong 已提交
2345 2346 2347

**示例:**

G
ge-yafang 已提交
2348 2349 2350 2351 2352 2353 2354 2355 2356
```js
var isKeepScreenOn = true;
let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
promise.then((data) => {
    console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err)); 
});
```
Z
xxx  
zhirong 已提交
2357 2358 2359

### setOutsideTouchable<sup>(deprecated)</sup>

G
ge-yafang 已提交
2360
setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
Z
xxx  
zhirong 已提交
2361

G
ge-yafang 已提交
2362
设置是否允许可点击子窗口之外的区域,使用callback异步回调。
Z
xxx  
zhirong 已提交
2363 2364 2365 2366 2367 2368 2369 2370 2371

> **说明:** 从API version 9开始废弃。
> 
> 从 API version 7开始支持。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:**

G
ge-yafang 已提交
2372 2373 2374 2375
| 参数名    | 类型                      | 必填 | 说明             |
| --------- | ------------------------- | ---- | ---------------- |
| touchable | boolean                   | 是   | 设置是否可点击。 |
| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
Z
xxx  
zhirong 已提交
2376 2377 2378

**示例:**

G
ge-yafang 已提交
2379 2380 2381 2382 2383 2384 2385 2386 2387
```js
windowClass.setOutsideTouchable(true, (err, data) => {
    if (err.code) {
        console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data));
})
```
Z
xxx  
zhirong 已提交
2388

G
ge-yafang 已提交
2389
### setOutsideTouchable<sup>(deprecated)</sup>
C
chyyy0213 已提交
2390

G
ge-yafang 已提交
2391
setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
C
chyyy0213 已提交
2392

G
ge-yafang 已提交
2393 2394 2395 2396 2397
设置是否允许可点击子窗口之外的区域,使用Promise异步回调。。

> **说明:** 从API version 9开始废弃。
> 
> 从 API version 7开始支持。
C
chyyy0213 已提交
2398

G
ge-yafang 已提交
2399
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2400

G
ge-yafang 已提交
2401
**参数:**
C
chyyy0213 已提交
2402

G
ge-yafang 已提交
2403 2404 2405
| 参数名    | 类型    | 必填 | 说明             |
| --------- | ------- | ---- | ---------------- |
| touchable | boolean | 是   | 设置是否可点击。 |
C
chyyy0213 已提交
2406

G
ge-yafang 已提交
2407
**返回值:**
C
chyyy0213 已提交
2408

G
ge-yafang 已提交
2409 2410 2411
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2412

G
ge-yafang 已提交
2413
**示例:**
C
chyyy0213 已提交
2414

G
ge-yafang 已提交
2415 2416 2417 2418 2419 2420 2421 2422
```js
let promise = windowClass.setOutsideTouchable(true);
promise.then((data)=> {
    console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2423 2424 2425 2426 2427

### setPrivacyMode<sup>7+</sup>

setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2428
设置窗口是否为隐私模式,使用callback异步回调。
C
chyyy0213 已提交
2429

G
ge-yafang 已提交
2430
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2431

G
ge-yafang 已提交
2432
**参数:** 
C
chyyy0213 已提交
2433

G
ge-yafang 已提交
2434 2435 2436 2437
| 参数名        | 类型                      | 必填 | 说明                 |
| ------------- | ------------------------- | ---- | -------------------- |
| isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。 |
| callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
C
chyyy0213 已提交
2438

G
ge-yafang 已提交
2439
**示例:** 
C
chyyy0213 已提交
2440

G
ge-yafang 已提交
2441 2442 2443 2444 2445 2446 2447 2448 2449 2450 2451
```js
var isPrivacyMode = true;
windowClass.setPrivacyMode(isPrivacyMode, (err, data) => {
    if (err.code) {
        console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data));

});
```
C
chyyy0213 已提交
2452 2453 2454 2455 2456

### setPrivacyMode<sup>7+</sup>

setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;

G
ge-yafang 已提交
2457
设置窗口是否为隐私模式,使用Promise异步回调。
C
chyyy0213 已提交
2458

G
ge-yafang 已提交
2459
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2460

G
ge-yafang 已提交
2461
**参数:** 
C
chyyy0213 已提交
2462

G
ge-yafang 已提交
2463 2464 2465
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。 |
C
chyyy0213 已提交
2466

G
ge-yafang 已提交
2467
**返回值:** 
C
chyyy0213 已提交
2468

G
ge-yafang 已提交
2469 2470 2471
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2472

G
ge-yafang 已提交
2473
**示例:** 
C
chyyy0213 已提交
2474

G
ge-yafang 已提交
2475 2476 2477 2478 2479 2480 2481 2482 2483
```js
var isPrivacyMode = true;
let promise = windowClass.setPrivacyMode(isPrivacyMode);
promise.then((data)=> {
    console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2484 2485 2486 2487 2488

### setTouchable<sup>7+</sup>

setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2489
设置窗口是否为可触状态,使用callback异步回调。
C
chyyy0213 已提交
2490

G
ge-yafang 已提交
2491
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2492

G
ge-yafang 已提交
2493
**参数:** 
C
chyyy0213 已提交
2494

G
ge-yafang 已提交
2495 2496 2497 2498
| 参数名      | 类型                      | 必填 | 说明                 |
| ----------- | ------------------------- | ---- | -------------------- |
| isTouchable | boolean                   | 是   | 窗口是否为可触状态。 |
| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
C
chyyy0213 已提交
2499

G
ge-yafang 已提交
2500
**示例:** 
C
chyyy0213 已提交
2501

G
ge-yafang 已提交
2502 2503 2504 2505 2506 2507 2508 2509 2510 2511 2512
```js
var isTouchable = true;
windowClass.setTouchable(isTouchable, (err, data) => {
    if (err.code) {
        console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
        return;
    }
    console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data));

});
```
C
chyyy0213 已提交
2513 2514 2515 2516 2517

### setTouchable<sup>7+</sup>

setTouchable(isTouchable: boolean): Promise&lt;void&gt;

G
ge-yafang 已提交
2518
设置窗口是否为可触状态,使用Promise异步回调。
C
chyyy0213 已提交
2519

G
ge-yafang 已提交
2520
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
C
chyyy0213 已提交
2521

G
ge-yafang 已提交
2522
**参数:** 
C
chyyy0213 已提交
2523

G
ge-yafang 已提交
2524 2525 2526
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| isTouchable | boolean | 是   | 窗口是否为可触状态。 |
C
chyyy0213 已提交
2527

G
ge-yafang 已提交
2528
**返回值:** 
C
chyyy0213 已提交
2529

G
ge-yafang 已提交
2530 2531 2532
| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
C
chyyy0213 已提交
2533

G
ge-yafang 已提交
2534
**示例:** 
C
chyyy0213 已提交
2535

G
ge-yafang 已提交
2536 2537 2538 2539 2540 2541 2542 2543 2544
```js
var isTouchable = true;
let promise = windowClass.setTouchable(isTouchable);
promise.then((data)=> {
    console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data));
}).catch((err)=>{
    console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
});
```
C
chyyy0213 已提交
2545

G
ge-yafang 已提交
2546
## WindowStageEventType<sup>9+</sup>
L
leafly2021 已提交
2547 2548 2549

WindowStage生命周期。

G
ge-yafang 已提交
2550 2551 2552
此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2553

G
ge-yafang 已提交
2554 2555 2556 2557 2558 2559
| 名称       | 默认值 | 说明       |
| ---------- | ------ | ---------- |
| FOREGROUND | 1      | 切到前台。 |
| ACTIVE     | 2      | 获焦状态。 |
| INACTIVE   | 3      | 失焦状态。 |
| BACKGROUND | 4      | 切到后台。 |
L
leafly2021 已提交
2560 2561 2562

## WindowStage<sup>9+</sup>

G
ge-yafang 已提交
2563 2564
窗口管理器。管理各个基本窗口单元,即[Window](#window)实例。

L
leafly2021 已提交
2565 2566 2567 2568
下列API示例中都需在[onWindowStageCreate()](js-apis-application-ability.md#abilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。

### getMainWindow<sup>9+</sup>

G
ge-yafang 已提交
2569 2570 2571 2572 2573 2574 2575 2576 2577 2578 2579 2580 2581 2582 2583 2584 2585 2586 2587 2588 2589 2590 2591 2592 2593 2594 2595 2596 2597 2598 2599 2600 2601 2602 2603
getMainWindow(callback: AsyncCallback&lt;Window&gt;): void

获取该WindowStage实例下的主窗口,使用callback异步回调。

此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:** 

| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的主窗口对象。 |

**示例:** 

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        windowStage.getMainWindow((err, data) => {
            if (err.code) {
                console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
                return;
            }
            windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        });
    }
}
```
### getMainWindow<sup>9+</sup>

L
leafly2021 已提交
2604 2605
getMainWindow(): Promise&lt;Window&gt;

G
ge-yafang 已提交
2606
获取该WindowStage实例下的主窗口,使用Promise异步回调。
L
leafly2021 已提交
2607

G
ge-yafang 已提交
2608 2609
此接口仅可在Stage模型下使用。

G
ge-yafang 已提交
2610
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2611

G
ge-yafang 已提交
2612
**返回值:** 
L
leafly2021 已提交
2613

G
ge-yafang 已提交
2614 2615 2616
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的主窗口对象。 |
L
leafly2021 已提交
2617

G
ge-yafang 已提交
2618
**示例:** 
L
leafly2021 已提交
2619

G
ge-yafang 已提交
2620 2621 2622 2623 2624 2625 2626 2627 2628 2629 2630 2631 2632 2633 2634 2635 2636
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        let promise = windowStage.getMainWindow();
        promise.then((data)=> {
        windowClass = data;
            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
        }).catch((err)=>{
            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
        });
    }
}
```
### createSubWindow<sup>9+</sup>
L
leafly2021 已提交
2637

G
ge-yafang 已提交
2638 2639 2640 2641 2642
createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void

创建该WindowStage实例下的子窗口,使用callback异步回调。

此接口仅可在Stage模型下使用。
L
leafly2021 已提交
2643

G
ge-yafang 已提交
2644
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2645

G
ge-yafang 已提交
2646
**参数:** 
L
leafly2021 已提交
2647

G
ge-yafang 已提交
2648 2649 2650 2651
| 参数名   | 类型                                   | 必填 | 说明                                          |
| -------- | -------------------------------------- | ---- | --------------------------------------------- |
| name     | String                                 | 是   | 子窗口的名字。                                |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
2652

G
ge-yafang 已提交
2653
**示例:** 
L
leafly2021 已提交
2654

G
ge-yafang 已提交
2655 2656 2657 2658 2659 2660 2661 2662
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        windowStage.createSubWindow("mySubWindow", (err, data) => {
            if (err.code) {
2663
                console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
2664 2665 2666
                return;
            }
            windowClass = data;
2667
            console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2668 2669 2670 2671 2672
            windowClass.resetSize(500, 1000);
        });
    }
}
```
L
leafly2021 已提交
2673 2674 2675 2676
### createSubWindow<sup>9+</sup>

createSubWindow(name: string): Promise&lt;Window&gt;

G
ge-yafang 已提交
2677
创建该WindowStage实例下的子窗口,使用Promise异步回调。
L
leafly2021 已提交
2678

G
ge-yafang 已提交
2679 2680
此接口仅可在Stage模型下使用。

G
ge-yafang 已提交
2681
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2682

G
ge-yafang 已提交
2683
**参数:** 
L
leafly2021 已提交
2684

G
ge-yafang 已提交
2685 2686 2687
| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
| name   | String | 是   | 子窗口的名字。 |
G
ge-yafang 已提交
2688

G
ge-yafang 已提交
2689
**返回值:** 
L
leafly2021 已提交
2690

G
ge-yafang 已提交
2691 2692 2693
| 类型                             | 说明                                             |
| -------------------------------- | ------------------------------------------------ |
| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的子窗口对象。 |
L
leafly2021 已提交
2694

G
ge-yafang 已提交
2695
**示例:** 
L
leafly2021 已提交
2696

G
ge-yafang 已提交
2697 2698 2699 2700 2701 2702 2703 2704 2705
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        let promise = windowStage.createSubWindow("mySubWindow");
        promise.then((data)=> {
            windowClass = data;
2706
            console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2707
        }).catch((err)=>{
2708
            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
2709 2710 2711 2712 2713
        })
    }
}
```
### getSubWindow<sup>9+</sup>
L
leafly2021 已提交
2714

G
ge-yafang 已提交
2715 2716 2717 2718 2719
getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void

获取该WindowStage实例下的所有子窗口,使用callback异步回调。

此接口仅可在Stage模型下使用。
L
leafly2021 已提交
2720

G
ge-yafang 已提交
2721
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2722

G
ge-yafang 已提交
2723
**参数:** 
L
leafly2021 已提交
2724

G
ge-yafang 已提交
2725 2726 2727
| 参数名   | 类型                                                | 必填 | 说明                                              |
| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- |
| callback | AsyncCallback&lt;Array&lt;[Window](#window)&gt;&gt; | 是   | 回调函数。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
2728

G
ge-yafang 已提交
2729
**示例:** 
L
leafly2021 已提交
2730

G
ge-yafang 已提交
2731 2732 2733 2734 2735 2736 2737 2738
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        windowStage.getSubWindow((err, data) => {
            if (err.code) {
2739
                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
2740 2741 2742
                return;
            }
            windowClass = data;
2743
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2744 2745 2746 2747
        });
    }
}
```
L
leafly2021 已提交
2748 2749 2750 2751
### getSubWindow<sup>9+</sup>

getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;

G
ge-yafang 已提交
2752
获取该WindowStage实例下的所有子窗口,使用Promise异步回调。
L
leafly2021 已提交
2753

G
ge-yafang 已提交
2754 2755
此接口仅可在Stage模型下使用。

G
ge-yafang 已提交
2756
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2757

G
ge-yafang 已提交
2758
**返回值:** 
L
leafly2021 已提交
2759

G
ge-yafang 已提交
2760 2761 2762
| 类型                                          | 说明                                                 |
| --------------------------------------------- | ---------------------------------------------------- |
| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | Promise对象。返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
2763

G
ge-yafang 已提交
2764
**示例:** 
L
leafly2021 已提交
2765

G
ge-yafang 已提交
2766 2767 2768 2769 2770 2771 2772 2773 2774
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        var windowClass = null;
        let promise = windowStage.getSubWindow();
        promise.then((data)=> {
            windowClass = data;
2775
            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
G
ge-yafang 已提交
2776
        }).catch((err)=>{
2777
            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
G
ge-yafang 已提交
2778 2779 2780 2781 2782
        })
    }
}
```
### loadContent<sup>9+</sup>
L
leafly2021 已提交
2783

G
ge-yafang 已提交
2784 2785 2786 2787 2788
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。

此接口仅可在Stage模型下使用。
L
leafly2021 已提交
2789

G
ge-yafang 已提交
2790
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2791

G
ge-yafang 已提交
2792
**参数:** 
L
leafly2021 已提交
2793

G
ge-yafang 已提交
2794 2795 2796 2797 2798
| 参数名   | 类型                                            | 必填 | 说明                                                         |
| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path     | string                                          | 是   | 设置加载页面的路径。                                         |
| storage  | [LocalStorage](../../ui/ui-ts-local-storage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
L
leafly2021 已提交
2799

G
ge-yafang 已提交
2800
**示例:**
L
leafly2021 已提交
2801

G
ge-yafang 已提交
2802 2803 2804 2805 2806 2807 2808 2809 2810 2811 2812 2813 2814 2815 2816 2817 2818 2819 2820 2821 2822
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    storage : LocalStorage  
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate("storageSimpleProp",121);
        console.log('onWindowStageCreate');
        windowStage.loadContent("pages/page2",this.storage,(err, data) => {
            if (err.code) {
                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
        });
    }
}
```

### loadContent<sup>9+</sup>

G
ge-yafang 已提交
2823
loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
G
ge-yafang 已提交
2824 2825 2826 2827 2828 2829 2830 2831 2832

为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。

此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:** 

G
ge-yafang 已提交
2833 2834 2835 2836
| 参数名  | 类型                                            | 必填 | 说明                                                         |
| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
| path    | string                                          | 是   | 设置加载页面的路径。                                         |
| storage | [LocalStorage](../../ui/ui-ts-local-storage.md) | 否   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
G
ge-yafang 已提交
2837 2838 2839 2840 2841 2842 2843 2844 2845 2846 2847 2848 2849 2850 2851 2852 2853 2854 2855 2856 2857 2858 2859 2860 2861 2862 2863 2864

**返回值:**

| 类型                | 说明                      |
| ------------------- | ------------------------- |
| Promise&lt;void&gt; | 无返回结果的Promise对象。 |

**示例:**

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    storage : LocalStorage 
    onWindowStageCreate(windowStage) {
        this.storage = new LocalStorage();
        this.storage.setOrCreate("storageSimpleProp",121);
        console.log('onWindowStageCreate');
        var windowClass = null;
        let promise = windowStage.loadContent("pages/page2",this.storage);
        promise.then((data)=> {
            windowClass = data;
            console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
        }).catch((err)=>{
            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
        })
    }
}
```
L
leafly2021 已提交
2865 2866 2867 2868 2869

### loadContent<sup>9+</sup>

loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void

G
ge-yafang 已提交
2870
为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。
L
leafly2021 已提交
2871

G
ge-yafang 已提交
2872 2873 2874
此接口仅可在Stage模型下使用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2875

G
ge-yafang 已提交
2876
**参数:** 
L
leafly2021 已提交
2877

G
ge-yafang 已提交
2878 2879 2880 2881
| 参数名   | 类型                      | 必填 | 说明                 |
| -------- | ------------------------- | ---- | -------------------- |
| path     | string                    | 是   | 设置加载页面的路径。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
G
ge-yafang 已提交
2882

G
ge-yafang 已提交
2883
**示例:** 
L
leafly2021 已提交
2884

G
ge-yafang 已提交
2885 2886 2887 2888 2889 2890 2891 2892 2893 2894 2895 2896 2897 2898 2899
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        windowStage.loadContent("pages/page2", (err, data) => {
            if (err.code) {
                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
                return;
            }
            console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
        });
    }
}
```
G
ge-yafang 已提交
2900

L
leafly2021 已提交
2901 2902 2903 2904 2905 2906
### on('windowStageEvent')<sup>9+</sup>

on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void

开启WindowStage生命周期变化的监听。

G
ge-yafang 已提交
2907 2908
此接口仅可在Stage模型下使用。

G
ge-yafang 已提交
2909
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2910

G
ge-yafang 已提交
2911
**参数:** 
L
leafly2021 已提交
2912

G
ge-yafang 已提交
2913 2914 2915
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
2916
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调函数。返回当前的WindowStage生命周期状态。                |
L
leafly2021 已提交
2917

G
ge-yafang 已提交
2918
**示例:** 
L
leafly2021 已提交
2919

G
ge-yafang 已提交
2920 2921 2922 2923 2924 2925 2926 2927 2928 2929 2930
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        windowStage.on('windowStageEvent', (data) => {
            console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + JSON.stringify(data));
        });
    }
}
```
L
leafly2021 已提交
2931 2932 2933 2934 2935 2936 2937

### off('windowStageEvent')<sup>9+</sup>

off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void

关闭WindowStage生命周期变化的监听。

G
ge-yafang 已提交
2938 2939
此接口仅可在Stage模型下使用。

G
ge-yafang 已提交
2940
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2941

G
ge-yafang 已提交
2942
**参数:** 
L
leafly2021 已提交
2943

G
ge-yafang 已提交
2944 2945 2946
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
G
ge-yafang 已提交
2947
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调函数。返回当前的WindowStage生命周期状态。                |
G
ge-yafang 已提交
2948

G
ge-yafang 已提交
2949
**示例:** 
L
leafly2021 已提交
2950

G
ge-yafang 已提交
2951 2952 2953 2954 2955 2956 2957 2958 2959
```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        windowStage.off('windowStageEvent');
    }
}
```
Q
qianlf 已提交
2960

L
leafly2021 已提交
2961 2962 2963 2964 2965 2966 2967 2968 2969 2970 2971 2972 2973 2974 2975 2976 2977 2978 2979 2980 2981 2982 2983 2984 2985
### disableWindowDecor()<sup>9+</sup>

disableWindowDecor(): void

禁止窗口装饰。

此接口仅可在Stage模型下使用。

此接口为系统接口,三方应用不支持调用。

**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**示例:** 

```ts
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('disableWindowDecor');
        windowStage.disableWindowDecor();
    }
}
```

### setShowOnLockScreen()<sup>9+</sup>
Q
qianlf 已提交
2986 2987 2988 2989 2990

setShowOnLockScreen(showOnLockScreen: boolean): void

设置应用显示在锁屏之上。

G
ge-yafang 已提交
2991 2992
此接口仅可在Stage模型下使用。

Q
qianlf 已提交
2993 2994 2995 2996 2997 2998 2999 3000 3001 3002 3003
**系统能力:** SystemCapability.WindowManager.WindowManager.Core

**参数:** 

| 参数名           | 类型    | 必填 | 说明                         |
| ---------------- | ------- | ---- | ---------------------------- |
| showOnLockScreen | boolean | 是   | 是否设置应用显示在锁屏之上。 |

**示例:** 

```ts
G
ge-yafang 已提交
3004
import Ability from '@ohos.application.Ability';
Q
qianlf 已提交
3005 3006 3007 3008 3009 3010 3011 3012
class myAbility extends Ability {
    onWindowStageCreate(windowStage) {
        console.log('onWindowStageCreate');
        windowStage.setShowOnLockScreen(true);
    }
}
```