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

G
ge-yafang 已提交
3
窗口提供管理窗口的一些基础能力,包括对窗口的创建、销毁,以及对窗口的属性设置等各项功能。
G
ge-yafang 已提交
4

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

## 导入模块

G
ge-yafang 已提交
11
```js
Z
zengyawen 已提交
12 13 14
import window from '@ohos.window';
```

G
ge-yafang 已提交
15
## WindowType<sup>7+</sup>
C
chyyy0213 已提交
16 17 18

窗口类型。

G
ge-yafang 已提交
19
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
20 21 22 23 24

| 名称              | 默认值 | 说明               |
| ----------------- | ------ | ------------------ |
| TYPE_APP          | 0      | 表示应用子窗口。   |
| TYPE_SYSTEM_ALERT | 1      | 表示系统告警窗口。 |
Z
zengyawen 已提交
25

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

C
chyyy0213 已提交
28
窗口内容需要规避区域的类型。
陈海莹 已提交
29

G
ge-yafang 已提交
30
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
31 32 33 34 35

| 名称        | 默认值 | 说明               |
| ----------- | ------ | ------------------ |
| TYPE_SYSTEM | 0      | 表示系统默认区域。 |
| TYPE_CUTOUT | 1      | 表示刘海屏区域。   |
陈海莹 已提交
36

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

C
chyyy0213 已提交
39
窗口模式。
Z
zengyawen 已提交
40

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

G
ge-yafang 已提交
43
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
44 45 46 47 48 49 50 51

| 名称       | 默认值 | 说明                          |
| ---------- | ------ | ----------------------------- |
| UNDEFINED  | 1      | 表示APP未定义窗口模式。       |
| FULLSCREEN | 2      | 表示APP全屏模式。             |
| PRIMARY    | 3      | 表示APP分屏多窗口主要模式。   |
| SECONDARY  | 4      | 表示APP分屏多窗口次要模式。   |
| FLOATING   | 5      | 表示APP自由悬浮形式窗口模式。 |
Z
zengyawen 已提交
52

G
ge-yafang 已提交
53
## SystemBarProperties
Z
zengyawen 已提交
54 55 56

状态栏导航栏的属性。

G
ge-yafang 已提交
57
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
58

C
chyyy0213 已提交
59 60
| 名称                                   | 参数类型 | 可读 | 可写 | 说明                                                         |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
C
chyyy0213 已提交
61 62 63 64 65 66
| statusBarColor                         | string   | 是   | 是   | 状态栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isStatusBarLightIcon<sup>7+</sup>      | boolean  | 否   | 是   | 状态栏图标是否为高亮状态。                                   |
| statusBarContentColor<sup>8+</sup>     | string   | 否   | 是   | 状态栏文字颜色。                                             |
| navigationBarColor                     | string   | 是   | 是   | 导航栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isNavigationBarLightIcon<sup>7+</sup>  | boolean  | 否   | 否   | 导航栏图标是否为高亮状态。                                   |
| navigationBarContentColor<sup>8+</sup> | string   | 否   | 是   | 导航栏文字颜色。                                             |
C
chyyy0213 已提交
67

G
ge-yafang 已提交
68
## SystemBarRegionTint<sup>8+</sup>
C
chyyy0213 已提交
69 70 71

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

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

G
ge-yafang 已提交
74
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
75

C
chyyy0213 已提交
76 77
| 名称            | 参数类型                  | 可读 | 可写 | 说明                                                         |
| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
C
chyyy0213 已提交
78 79 80 81 82
| type            | [WindowType](#windowtype) | 是   | 是   | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
| isEnable        | boolean                   | 是   | 是   | 当前系统栏是否显示。                                         |
| region          | [Rect](#rect)             | 是   | 是   | 当前系统栏的位置及大小。                                     |
| backgroundColor | string                    | 是   | 是   | 系统栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| contentColor    | string                    | 是   | 是   | 系统栏文字颜色。                                             |
Z
zengyawen 已提交
83

G
ge-yafang 已提交
84
## SystemBarTintState<sup>8+</sup>
C
chyyy0213 已提交
85 86 87

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

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

G
ge-yafang 已提交
90
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
91

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

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

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

G
ge-yafang 已提交
101
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
102 103 104 105 106 107 108

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

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

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

G
ge-yafang 已提交
114
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
115 116 117 118 119 120 121

| 名称       | 参数类型      | 可读 | 可写 | 说明               |
| ---------- | ------------- | ---- | ---- | ------------------ |
| leftRect   | [Rect](#rect) | 是   | 是   | 屏幕左侧的矩形区。 |
| topRect    | [Rect](#rect) | 是   | 是   | 屏幕顶部的矩形区。 |
| rightRect  | [Rect](#rect) | 是   | 是   | 屏幕右侧的矩形区。 |
| bottomRect | [Rect](#rect) | 是   | 是   | 屏幕底部的矩形区。 |
Z
zengyawen 已提交
122

G
ge-yafang 已提交
123
## Size<sup>7+</sup>
Z
zengyawen 已提交
124 125 126

窗口大小。

G
ge-yafang 已提交
127
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
128 129 130 131 132

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

G
ge-yafang 已提交
134
## WindowProperties
Z
zengyawen 已提交
135 136 137

窗口属性。

G
ge-yafang 已提交
138
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
139

G
ge-yafang 已提交
140 141 142 143 144 145 146 147 148 149 150 151 152
| 名称                            | 参数类型                  | 可读 | 可写 | 说明                                         |
| ------------------------------- | ------------------------- | ---- | ---- | -------------------------------------------- |
| 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表示最大亮度值。  |
| isKeepScreenOn                  | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。                  |
| isPrivacyMode<sup>7+</sup>      | boolean                   | 是   | 是   | 隐私模式,默认为false。                      |
| isRoundCorner<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。                |
| isTransparent<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否透明。默认为false。                  |
Z
zengyawen 已提交
153

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

C
chyyy0213 已提交
156
色域模式。
Z
zengyawen 已提交
157

G
ge-yafang 已提交
158
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
C
chyyy0213 已提交
159 160 161 162 163

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

Z
zengyawen 已提交
165
## window.create<sup>7+</sup>
Z
zengyawen 已提交
166

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

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

Z
zengyawen 已提交
171 172
从API version 8开始,此接口废弃,推荐使用[window.create<sup>8+</sup>](#windowcreate8)接口。

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

G
ge-yafang 已提交
175
**参数:** 
C
chyyy0213 已提交
176

G
ge-yafang 已提交
177 178 179 180 181
| 参数名   | 类型                                   | 必填 | 说明                       |
| -------- | -------------------------------------- | ---- | -------------------------- |
| id       | string                                 | 是   | 窗口id。                   |
| type     | [WindowType](#windowtype)              | 是   | 窗口类型。                 |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调返回创建的子窗口对象。 |
Z
zengyawen 已提交
182

G
ge-yafang 已提交
183
**示例:** 
Z
zengyawen 已提交
184

G
ge-yafang 已提交
185
  ```js
C
chyyy0213 已提交
186
   var windowClass = null;
C
chyyy0213 已提交
187
   window.create("first", window.WindowType.TYPE_APP, (err, data) => {
C
chyyy0213 已提交
188
      if (err.code) {
C
chyyy0213 已提交
189 190 191
          console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
          return;
      }
C
chyyy0213 已提交
192
      windowClass = data;
C
chyyy0213 已提交
193 194 195 196 197
      console.info('SubWindow created. Data: ' + JSON.stringify(data))
      windowClass.resetSize(500, 1000);
  });
  ```

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

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

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

Z
zengyawen 已提交
204 205
从API version 8开始,此接口废弃,推荐使用[window.create<sup>8+</sup>](#windowcreate8)接口。

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

G
ge-yafang 已提交
208
**参数:** 
C
chyyy0213 已提交
209

G
ge-yafang 已提交
210 211 212 213
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| id     | string                    | 是   | 窗口id。   |
| type   | [WindowType](#windowtype) | 是   | 窗口类型。 |
C
chyyy0213 已提交
214

G
ge-yafang 已提交
215
**返回值:** 
C
chyyy0213 已提交
216

G
ge-yafang 已提交
217 218 219
| 类型                             | 说明                                              |
| -------------------------------- | ------------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前创建的子窗口对象。 |
C
chyyy0213 已提交
220

G
ge-yafang 已提交
221
**示例:** 
C
chyyy0213 已提交
222

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

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

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

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

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

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

G
ge-yafang 已提交
244
**参数:** 
Z
zengyawen 已提交
245

G
ge-yafang 已提交
246 247 248 249 250 251
| 参数名   | 类型                                   | 必填 | 说明                                                         |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| 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)              | 是   | 窗口类型。                                                   |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调返回当前窗口对象。                                       |
Z
zengyawen 已提交
252

G
ge-yafang 已提交
253
**示例:** 
Z
zengyawen 已提交
254

G
ge-yafang 已提交
255
  ```js
C
chyyy0213 已提交
256
   var windowClass = null;
C
chyyy0213 已提交
257
   window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
C
chyyy0213 已提交
258
      if (err.code) {
C
chyyy0213 已提交
259 260 261
          console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
          return;
      }
C
chyyy0213 已提交
262
      windowClass = data;
C
chyyy0213 已提交
263 264 265 266 267 268 269
      console.info('Window created. Data: ' + JSON.stringify(data))
      windowClass.resetSize(500, 1000);
  });
  ```

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

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

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

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

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

G
ge-yafang 已提交
278
**参数:** 
C
chyyy0213 已提交
279

G
ge-yafang 已提交
280 281 282 283 284
| 参数名 | 类型                      | 必填 | 说明                                                         |
| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
| 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 已提交
285

G
ge-yafang 已提交
286
**返回值:** 
C
chyyy0213 已提交
287

G
ge-yafang 已提交
288 289 290
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前创建的窗口对象。 |
C
chyyy0213 已提交
291

G
ge-yafang 已提交
292
**示例:** 
C
chyyy0213 已提交
293

G
ge-yafang 已提交
294
  ```js
C
chyyy0213 已提交
295
   var windowClass = null;
C
chyyy0213 已提交
296 297
   let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT);
   promise.then((data)=> {
C
chyyy0213 已提交
298
   	windowClass = data;
C
chyyy0213 已提交
299 300 301 302 303
      console.info('Window created. Data: ' + JSON.stringify(data))
   }).catch((err)=>{
      console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
   });
  ```
Z
zengyawen 已提交
304

G
ge-yafang 已提交
305
## window.find<sup>7+</sup>
Z
zengyawen 已提交
306 307 308

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

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

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

G
ge-yafang 已提交
313
**参数:** 
C
chyyy0213 已提交
314

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

G
ge-yafang 已提交
320
**示例:** 
C
chyyy0213 已提交
321

G
ge-yafang 已提交
322
  ```js
C
chyyy0213 已提交
323 324
   var windowClass = null;
   window.find("alertWindow", (err, data) => {
C
chyyy0213 已提交
325
     if (err.code) {
C
chyyy0213 已提交
326
         console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
327 328
         return;
     }
C
chyyy0213 已提交
329 330
     windowClass = data;
     console.info('window found. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
331 332 333 334 335 336 337
  });
  ```

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

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

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

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

G
ge-yafang 已提交
342
**参数:** 
C
chyyy0213 已提交
343

G
ge-yafang 已提交
344 345 346
| 参数名 | 类型   | 必填 | 说明     |
| ------ | ------ | ---- | -------- |
| id     | string | 是   | 窗口id。 |
C
chyyy0213 已提交
347

G
ge-yafang 已提交
348
**返回值:** 
C
chyyy0213 已提交
349

G
ge-yafang 已提交
350 351 352
| 类型                             | 说明                                            |
| -------------------------------- | ----------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前查找的窗口对象。 |
C
chyyy0213 已提交
353

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

G
ge-yafang 已提交
356
  ```js
C
chyyy0213 已提交
357 358
   var windowClass = null;
   let promise = window.find("alertWindow");
C
chyyy0213 已提交
359
   promise.then((data)=> {
C
chyyy0213 已提交
360
   	windowClass = data;
C
chyyy0213 已提交
361 362 363 364
      console.info('window found. Data: ' + JSON.stringify(data))
   }).catch((err)=>{
      console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
   });
Z
zengyawen 已提交
365 366
  ```

G
ge-yafang 已提交
367
## window.getTopWindow
Z
zengyawen 已提交
368

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

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

G
ge-yafang 已提交
373 374
从API version 8开始,此接口废弃,推荐使用[window.getTopWindow<sup>8+</sup>](#windowgettopwindow8)接口。

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

G
ge-yafang 已提交
377
**参数:** 
C
chyyy0213 已提交
378

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

G
ge-yafang 已提交
383
**示例:** 
C
chyyy0213 已提交
384

G
ge-yafang 已提交
385
  ```js
C
chyyy0213 已提交
386
  var windowClass = null;
C
chyyy0213 已提交
387
  window.getTopWindow((err, data) => {
C
chyyy0213 已提交
388
      if (err.code) {
C
chyyy0213 已提交
389
          console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
390 391
          return;
      }
C
chyyy0213 已提交
392
      windowClass = data;
C
chyyy0213 已提交
393
      console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
Z
zengyawen 已提交
394 395 396
  });
  ```

C
chyyy0213 已提交
397 398 399 400
## window.getTopWindow

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

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

G
ge-yafang 已提交
403 404
从API version 8开始,此接口废弃,推荐使用[window.getTopWindow<sup>8+</sup>](#windowgettopwindow8)接口。

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

G
ge-yafang 已提交
407
**返回值:** 
C
chyyy0213 已提交
408

G
ge-yafang 已提交
409 410 411
| 类型                             | 说明                                                      |
| -------------------------------- | --------------------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |
C
chyyy0213 已提交
412

G
ge-yafang 已提交
413
**示例:** 
C
chyyy0213 已提交
414

G
ge-yafang 已提交
415
  ```js
C
chyyy0213 已提交
416
   var windowClass = null;
C
chyyy0213 已提交
417 418
   let promise = window.getTopWindow();
   promise.then((data)=> {
C
chyyy0213 已提交
419
   	windowClass = data;
C
chyyy0213 已提交
420 421 422 423 424 425 426
      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));
   })
  ```

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

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

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

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

G
ge-yafang 已提交
434
**参数:** 
C
chyyy0213 已提交
435

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

G
ge-yafang 已提交
441
**示例:** 
C
chyyy0213 已提交
442

G
ge-yafang 已提交
443
  ```js
C
chyyy0213 已提交
444
  var windowClass = null;
C
chyyy0213 已提交
445
  window.getTopWindow(this.context, (err, data) => {
C
chyyy0213 已提交
446
      if (err.code) {
C
chyyy0213 已提交
447
          console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
448 449
          return;
      }
C
chyyy0213 已提交
450
      windowClass = data;
C
chyyy0213 已提交
451
      console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
Z
zengyawen 已提交
452 453 454
  });
  ```

C
chyyy0213 已提交
455 456 457 458
## window.getTopWindow<sup>8+</sup>

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

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

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

G
ge-yafang 已提交
463
**参数:** 
C
chyyy0213 已提交
464

G
ge-yafang 已提交
465 466 467
| 参数名 | 类型    | 必填 | 说明                                                         |
| ------ | ------- | ---- | ------------------------------------------------------------ |
| 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 已提交
468

G
ge-yafang 已提交
469
**返回值:** 
C
chyyy0213 已提交
470

G
ge-yafang 已提交
471 472 473
| 类型                             | 说明                                                      |
| -------------------------------- | --------------------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |
C
chyyy0213 已提交
474

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

G
ge-yafang 已提交
477
  ```js
C
chyyy0213 已提交
478
   var windowClass = null;
C
chyyy0213 已提交
479 480
   let promise = window.getTopWindow(this.context);
   promise.then((data)=> {
C
chyyy0213 已提交
481
   	windowClass = data;
C
chyyy0213 已提交
482 483 484 485 486 487
      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 已提交
488
## on('systemBarTintChange')<sup>8+</sup>
Z
zengyawen 已提交
489

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

C
chyyy0213 已提交
492
注册状态栏、导航栏的监听函数。
Z
zengyawen 已提交
493

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

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

G
ge-yafang 已提交
498
**参数:** 
C
chyyy0213 已提交
499

G
ge-yafang 已提交
500 501 502 503
| 参数名   | 类型                                                      | 必填 | 说明                                                         |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
| callback | Callback&lt;[SystemBarTintState](#systembartintstate)&gt; | 是   | 回调返回监听到的信息。                                       |
Z
zengyawen 已提交
504

G
ge-yafang 已提交
505
**示例:** 
C
chyyy0213 已提交
506

G
ge-yafang 已提交
507
  ```js
C
chyyy0213 已提交
508 509 510
  var type = 'systemBarTintChange';
  windowClass.on(type, (data) => {
      console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
Z
zengyawen 已提交
511 512 513
  });
  ```

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

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

C
chyyy0213 已提交
518
关闭监听。
Z
zengyawen 已提交
519

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

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

G
ge-yafang 已提交
524
**参数:** 
C
chyyy0213 已提交
525

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

G
ge-yafang 已提交
531
**示例:** 
C
chyyy0213 已提交
532

G
ge-yafang 已提交
533
  ```js
C
chyyy0213 已提交
534 535
  var type = 'systemBarTintChange';
  windowClass.off(type);
Z
zengyawen 已提交
536 537 538 539
  ```

## Window

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

C
chyyy0213 已提交
542
### hide<sup>7+</sup>
Z
zengyawen 已提交
543

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

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

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

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

G
ge-yafang 已提交
552
**参数:** 
C
chyyy0213 已提交
553

G
ge-yafang 已提交
554 555 556
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
557

G
ge-yafang 已提交
558
**示例:** 
C
chyyy0213 已提交
559

G
ge-yafang 已提交
560
  ```js
C
chyyy0213 已提交
561
  windowClass.hide((err, data) => {
C
chyyy0213 已提交
562
      if (err.code) {
C
chyyy0213 已提交
563
          console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
564 565
          return;
      }
C
chyyy0213 已提交
566
      console.info('window hidden. data: ' + JSON.stringify(data))
C
chyyy0213 已提交
567
  })
Z
zengyawen 已提交
568 569
  ```

C
chyyy0213 已提交
570 571
### hide<sup>7+</sup>

C
chyyy0213 已提交
572
hide(): Promise&lt;void&gt;
C
chyyy0213 已提交
573

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

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

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

G
ge-yafang 已提交
580
**返回值:** 
C
chyyy0213 已提交
581

G
ge-yafang 已提交
582 583 584
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
585

G
ge-yafang 已提交
586
**示例:** 
C
chyyy0213 已提交
587

G
ge-yafang 已提交
588
  ```js
C
chyyy0213 已提交
589
   let promise = windowClass.hide();
C
chyyy0213 已提交
590 591
   promise.then((data)=> {
      console.info('window hidden. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
592 593 594 595 596
   }).catch((err)=>{
      console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
   })
  ```

C
chyyy0213 已提交
597
### show<sup>7+</sup>
Z
zengyawen 已提交
598

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

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

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

G
ge-yafang 已提交
605
**参数:** 
C
chyyy0213 已提交
606

G
ge-yafang 已提交
607 608 609
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
610

G
ge-yafang 已提交
611
**示例:** 
C
chyyy0213 已提交
612

G
ge-yafang 已提交
613
  ```js
C
chyyy0213 已提交
614
  windowClass.show((err, data) => {
C
chyyy0213 已提交
615
      if (err.code) {
C
chyyy0213 已提交
616
          console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
617 618
          return;
      }
C
chyyy0213 已提交
619
      console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
620
  })
Z
zengyawen 已提交
621 622
  ```

C
chyyy0213 已提交
623 624 625 626
### show<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
631
**返回值:** 
C
chyyy0213 已提交
632

G
ge-yafang 已提交
633 634 635
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
636

G
ge-yafang 已提交
637
**示例:** 
C
chyyy0213 已提交
638

G
ge-yafang 已提交
639
  ```js
C
chyyy0213 已提交
640
   let promise = windowClass.show();
C
chyyy0213 已提交
641 642
   promise.then((data)=> {
      console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
643 644 645 646 647
   }).catch((err)=>{
      console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
   })
  ```

C
chyyy0213 已提交
648 649 650
### destroy<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
656
**参数:** 
C
chyyy0213 已提交
657

G
ge-yafang 已提交
658 659 660
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
Z
zengyawen 已提交
661

G
ge-yafang 已提交
662
**示例:** 
C
chyyy0213 已提交
663

G
ge-yafang 已提交
664
  ```js
C
chyyy0213 已提交
665
  windowClass.destroy((err, data) => {
C
chyyy0213 已提交
666
      if (err.code) {
C
chyyy0213 已提交
667
          console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
668 669
          return;
      }
C
chyyy0213 已提交
670
      console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
671
  })
Z
zengyawen 已提交
672 673
  ```

C
chyyy0213 已提交
674 675 676 677
### destroy<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
682
**返回值:** 
C
chyyy0213 已提交
683

G
ge-yafang 已提交
684 685 686
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
687

G
ge-yafang 已提交
688
**示例:** 
C
chyyy0213 已提交
689

G
ge-yafang 已提交
690
  ```js
C
chyyy0213 已提交
691
   let promise = windowClass.destroy();
C
chyyy0213 已提交
692 693
   promise.then((data)=> {
      console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
694 695 696 697 698
   }).catch((err)=>{
      console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
   })
  ```

C
chyyy0213 已提交
699
### moveTo<sup>7+</sup>
Z
zengyawen 已提交
700

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

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

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

G
ge-yafang 已提交
707
**参数:** 
C
chyyy0213 已提交
708

G
ge-yafang 已提交
709 710 711 712 713
| 参数名   | 类型                      | 必填 | 说明                                    |
| -------- | ------------------------- | ---- | --------------------------------------- |
| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移。 |
| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                              |
Z
zengyawen 已提交
714

G
ge-yafang 已提交
715
**示例:** 
C
chyyy0213 已提交
716

G
ge-yafang 已提交
717
  ```js
C
chyyy0213 已提交
718
  windowClass.moveTo(300, 300, (err, data)=>{
C
chyyy0213 已提交
719
      if (err.code) {
C
chyyy0213 已提交
720
          console.error('Failed to move the window. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
721 722
          return;
      }
C
chyyy0213 已提交
723
      console.info('Window moved. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
724
  
Z
zengyawen 已提交
725 726 727
  });
  ```

C
chyyy0213 已提交
728 729 730 731
### moveTo<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
736
**参数:** 
C
chyyy0213 已提交
737

G
ge-yafang 已提交
738 739 740 741
| 参数名 | 类型   | 必填 | 说明                                    |
| ------ | ------ | ---- | --------------------------------------- |
| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移。 |
| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移。 |
C
chyyy0213 已提交
742

G
ge-yafang 已提交
743
**返回值:** 
C
chyyy0213 已提交
744

G
ge-yafang 已提交
745 746 747
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
748

G
ge-yafang 已提交
749
**示例:** 
C
chyyy0213 已提交
750

G
ge-yafang 已提交
751
  ```js
C
chyyy0213 已提交
752
   let promise = windowClass.moveTo(300, 300);
C
chyyy0213 已提交
753 754
   promise.then((data)=> {
      console.info('Window moved. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
755 756 757 758 759
   }).catch((err)=>{
      console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
   })
  ```

C
chyyy0213 已提交
760 761 762
### resetSize<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
768
**参数:** 
C
chyyy0213 已提交
769

G
ge-yafang 已提交
770 771 772 773 774
| 参数名   | 类型                      | 必填 | 说明             |
| -------- | ------------------------- | ---- | ---------------- |
| width    | number                    | 是   | 目标窗口的宽度。 |
| height   | number                    | 是   | 目标窗口的高度。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
Z
zengyawen 已提交
775

G
ge-yafang 已提交
776
**示例:** 
C
chyyy0213 已提交
777

G
ge-yafang 已提交
778
  ```js
C
chyyy0213 已提交
779
  windowClass.resetSize(500, 1000, (err, data) => {
C
chyyy0213 已提交
780
      if (err.code) {
C
chyyy0213 已提交
781
          console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
782 783
          return;
      }
C
chyyy0213 已提交
784
      console.info('Window size changed. Data: ' + JSON.stringify(data))
Z
zengyawen 已提交
785 786 787
  });
  ```

C
chyyy0213 已提交
788 789 790 791
### resetSize<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
796
**参数:** 
C
chyyy0213 已提交
797

G
ge-yafang 已提交
798 799 800 801
| 参数名 | 类型   | 必填 | 说明             |
| ------ | ------ | ---- | ---------------- |
| width  | number | 是   | 目标窗口的宽度。 |
| height | number | 是   | 目标窗口的高度。 |
C
chyyy0213 已提交
802

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

G
ge-yafang 已提交
805 806 807
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
808

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

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

820 821 822 823
### setWindowType<sup>7+</sup>

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

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

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

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

G
ge-yafang 已提交
830
**参数:** 
C
chyyy0213 已提交
831

G
ge-yafang 已提交
832 833 834 835
| 参数名   | 类型                      | 必填 | 说明       |
| -------- | ------------------------- | ---- | ---------- |
| type     | [WindowType](#windowtype) | 是   | 窗口类型。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
836

G
ge-yafang 已提交
837
**示例:** 
C
chyyy0213 已提交
838

G
ge-yafang 已提交
839
  ```js
840
  var type = window.TYPE_APP;
C
chyyy0213 已提交
841
  windowClass.setWindowType(type, (err, data) => {
C
chyyy0213 已提交
842
    if (err.code) {
843 844 845
        console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
        return;
    }
C
chyyy0213 已提交
846
    console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
847 848 849
  });
  ```

C
chyyy0213 已提交
850 851 852 853
### setWindowType<sup>7+</sup>

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

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

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

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

G
ge-yafang 已提交
860
**参数:** 
C
chyyy0213 已提交
861

G
ge-yafang 已提交
862 863 864
| 参数名 | 类型                      | 必填 | 说明       |
| ------ | ------------------------- | ---- | ---------- |
| type   | [WindowType](#windowtype) | 是   | 窗口类型。 |
C
chyyy0213 已提交
865

G
ge-yafang 已提交
866
**返回值:** 
C
chyyy0213 已提交
867

G
ge-yafang 已提交
868 869 870
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
871

G
ge-yafang 已提交
872
**示例:** 
C
chyyy0213 已提交
873

G
ge-yafang 已提交
874
  ```js
C
chyyy0213 已提交
875 876
   var type = window.TYPE_APP;
   let promise = windowClass.setWindowType(type);
C
chyyy0213 已提交
877 878
   promise.then((data)=> {
      console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
879 880 881 882 883
   }).catch((err)=>{
      console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
   });
  ```

C
chyyy0213 已提交
884
### getProperties
Z
zengyawen 已提交
885

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

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

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

G
ge-yafang 已提交
892
**参数:** 
C
chyyy0213 已提交
893

G
ge-yafang 已提交
894 895 896
| 参数名   | 类型                                                       | 必填 | 说明               |
| -------- | ---------------------------------------------------------- | ---- | ------------------ |
| callback | AsyncCallback&lt;[WindowProperties](#windowproperties)&gt; | 是   | 回调返回窗口属性。 |
Z
zengyawen 已提交
897

G
ge-yafang 已提交
898
**示例:** 
C
chyyy0213 已提交
899

G
ge-yafang 已提交
900
  ```js
C
chyyy0213 已提交
901
  windowClass.getProperties((err, data) => {
C
chyyy0213 已提交
902
      if (err.code) {
C
chyyy0213 已提交
903
          console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
904 905
          return;
      }
C
chyyy0213 已提交
906
      console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
Z
zengyawen 已提交
907 908 909
  });
  ```

C
chyyy0213 已提交
910 911 912 913
### getProperties

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

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

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

G
ge-yafang 已提交
918
**返回值:** 
C
chyyy0213 已提交
919

G
ge-yafang 已提交
920 921 922
| 类型                                                 | 说明                                  |
| ---------------------------------------------------- | ------------------------------------- |
| Promise&lt;[WindowProperties](#windowproperties)&gt; | 以Promise形式返回结果,返回窗口属性。 |
C
chyyy0213 已提交
923

G
ge-yafang 已提交
924
**示例:** 
C
chyyy0213 已提交
925

G
ge-yafang 已提交
926
  ```js
C
chyyy0213 已提交
927 928 929 930 931 932 933 934
   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 已提交
935
### getAvoidArea<sup>7+</sup>
Z
zengyawen 已提交
936

C
chyyy0213 已提交
937
getAvoidArea(type: AvoidAreaType, callback: AsyncCallback&lt;AvoidArea&gt;): void
Z
zengyawen 已提交
938

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

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

G
ge-yafang 已提交
943
**参数:** 
C
chyyy0213 已提交
944

G
ge-yafang 已提交
945 946 947 948
| 参数名   | 类型                                         | 必填 | 说明                                                         |
| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | [AvoidAreaType](#avoidareatype)              | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 |
| callback | AsyncCallback&lt;[AvoidArea](#avoidarea)&gt; | 是   | 回调返回窗口内容规避区域。                                   |
Z
zengyawen 已提交
949

G
ge-yafang 已提交
950
**示例:** 
C
chyyy0213 已提交
951

G
ge-yafang 已提交
952
  ```js
C
chyyy0213 已提交
953 954
  var type = window.AvoidAreaType.TYPE_SYSTEM;
  windowClass.getAvoidArea(type, (err, data) => {
C
chyyy0213 已提交
955
      if (err.code) {
C
chyyy0213 已提交
956
          console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
957 958
          return;
      }
C
chyyy0213 已提交
959
      console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
Z
zengyawen 已提交
960 961 962
  });
  ```

C
chyyy0213 已提交
963 964 965 966
### getAvoidArea<sup>7+</sup>

getAvoidArea(type: AvoidAreaType): Promise&lt;AvoidArea&gt;

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

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

G
ge-yafang 已提交
971
**参数:** 
C
chyyy0213 已提交
972

G
ge-yafang 已提交
973 974 975
| 参数名 | 类型                            | 必填 | 说明                                                         |
| ------ | ------------------------------- | ---- | ------------------------------------------------------------ |
| type   | [AvoidAreaType](#avoidareatype) | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 |
C
chyyy0213 已提交
976

G
ge-yafang 已提交
977
**返回值:** 
C
chyyy0213 已提交
978

G
ge-yafang 已提交
979 980 981
| 类型                                   | 说明                                          |
| -------------------------------------- | --------------------------------------------- |
| Promise&lt;[AvoidArea](#avoidarea)&gt; | 以Promise形式返回结果,返回窗口内容规避区域。 |
C
chyyy0213 已提交
982

G
ge-yafang 已提交
983
**示例:** 
C
chyyy0213 已提交
984

G
ge-yafang 已提交
985
  ```js
C
chyyy0213 已提交
986 987 988 989 990 991 992 993
   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 已提交
994 995 996
### setFullScreen

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

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

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

G
ge-yafang 已提交
1002
**参数:** 
C
chyyy0213 已提交
1003

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

G
ge-yafang 已提交
1009
**示例:** 
C
chyyy0213 已提交
1010

G
ge-yafang 已提交
1011
  ```js
C
chyyy0213 已提交
1012
  var isFullScreen = true;
C
chyyy0213 已提交
1013
  windowClass.setFullScreen(isFullScreen, (err, data) => {
C
chyyy0213 已提交
1014
      if (err.code) {
C
chyyy0213 已提交
1015
          console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
1016 1017
          return;
      }
C
chyyy0213 已提交
1018
      console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1019 1020 1021 1022 1023 1024 1025
  });
  ```

### setFullScreen

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

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

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

G
ge-yafang 已提交
1030
**参数:** 
C
chyyy0213 已提交
1031

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

G
ge-yafang 已提交
1036
**返回值:** 
C
chyyy0213 已提交
1037

G
ge-yafang 已提交
1038 1039 1040
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1041

G
ge-yafang 已提交
1042
**示例:** 
C
chyyy0213 已提交
1043

G
ge-yafang 已提交
1044
  ```js
C
chyyy0213 已提交
1045 1046
  var isFullScreen = true;
  let promise = windowClass.setFullScreen(isFullScreen);
C
chyyy0213 已提交
1047 1048
  promise.then((data)=> {
      console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1049 1050
  }).catch((err)=>{
      console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
1051 1052 1053
  });
  ```

C
chyyy0213 已提交
1054 1055 1056
### setLayoutFullScreen<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
1062
**参数:** 
C
chyyy0213 已提交
1063

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

G
ge-yafang 已提交
1069
**示例:** 
C
chyyy0213 已提交
1070

G
ge-yafang 已提交
1071
  ```js
C
chyyy0213 已提交
1072
  var isLayoutFullScreen= true;
C
chyyy0213 已提交
1073
  windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => {
C
chyyy0213 已提交
1074
      if (err.code) {
C
chyyy0213 已提交
1075
          console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1076 1077
          return;
      }
C
chyyy0213 已提交
1078
      console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1079 1080 1081 1082 1083 1084 1085
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1090
**参数:** 
C
chyyy0213 已提交
1091

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

G
ge-yafang 已提交
1096
**返回值:** 
C
chyyy0213 已提交
1097

G
ge-yafang 已提交
1098 1099 1100
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1101

G
ge-yafang 已提交
1102
**示例:** 
C
chyyy0213 已提交
1103

G
ge-yafang 已提交
1104
  ```js
C
chyyy0213 已提交
1105 1106
  var isLayoutFullScreen = true;
  let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
C
chyyy0213 已提交
1107 1108
  promise.then((data)=> {
      console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1109 1110
  }).catch((err)=>{
      console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1111 1112 1113 1114 1115
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1122
**参数:** 
C
chyyy0213 已提交
1123

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

G
ge-yafang 已提交
1129
**示例:** 
C
chyyy0213 已提交
1130

G
ge-yafang 已提交
1131
  ```js
Z
zengyawen 已提交
1132
  var names = ["status", "navigation"];
C
chyyy0213 已提交
1133
  windowClass.setSystemBarEnable(names, (err, data) => {
C
chyyy0213 已提交
1134
      if (err.code) {
Z
zengyawen 已提交
1135 1136 1137
          console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
          return;
      }
C
chyyy0213 已提交
1138
      console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1139 1140 1141 1142 1143 1144 1145
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1150
**参数:** 
C
chyyy0213 已提交
1151

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

G
ge-yafang 已提交
1156
**返回值:** 
C
chyyy0213 已提交
1157

G
ge-yafang 已提交
1158 1159 1160
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1161

G
ge-yafang 已提交
1162
**示例:** 
C
chyyy0213 已提交
1163

G
ge-yafang 已提交
1164
  ```js
C
chyyy0213 已提交
1165 1166
  var names = ["status", "navigation"];
  let promise = windowClass.setSystemBarEnable(names);
C
chyyy0213 已提交
1167 1168
  promise.then((data)=> {
      console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1169 1170
  }).catch((err)=>{
      console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1171 1172 1173 1174 1175 1176 1177
  });
  ```

### setSystemBarProperties

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

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

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

G
ge-yafang 已提交
1182
**参数:** 
C
chyyy0213 已提交
1183

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

G
ge-yafang 已提交
1189
**示例:** 
C
chyyy0213 已提交
1190

G
ge-yafang 已提交
1191
  ```js
Z
zengyawen 已提交
1192 1193 1194 1195 1196
  var SystemBarProperties={
      statusBarColor: '#ff00ff',
      navigationBarColor: '#00ff00',
      //以下两个属性从API Version7开始支持
      isStatusBarLightIcon: true,
C
chyyy0213 已提交
1197 1198
      isNavigationBarLightIcon:false,
      //以下两个属性从API Version8开始支持
C
chyyy0213 已提交
1199
      statusBarContentColor:'#ffffff',
C
chyyy0213 已提交
1200
      navigationBarContentColor:'#00ffff'
Z
zengyawen 已提交
1201
  };
C
chyyy0213 已提交
1202
  windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => {
C
chyyy0213 已提交
1203
      if (err.code) {
Z
zengyawen 已提交
1204 1205 1206
          console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
          return;
      }
C
chyyy0213 已提交
1207
      console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1208 1209 1210 1211 1212 1213 1214
  });
  ```

### setSystemBarProperties

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

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

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

G
ge-yafang 已提交
1219
**参数:** 
C
chyyy0213 已提交
1220

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

G
ge-yafang 已提交
1225
**返回值:** 
C
chyyy0213 已提交
1226

G
ge-yafang 已提交
1227 1228 1229
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1230

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

G
ge-yafang 已提交
1233
  ```js
C
chyyy0213 已提交
1234 1235 1236 1237 1238 1239 1240
  var SystemBarProperties={
      statusBarColor: '#ff00ff',
      navigationBarColor: '#00ff00',
      //以下两个属性从API Version7开始支持
      isStatusBarLightIcon: true,
      isNavigationBarLightIcon:false,
      //以下两个属性从API Version8开始支持
C
chyyy0213 已提交
1241
      statusBarContentColor:'#ffffff',
C
chyyy0213 已提交
1242 1243 1244
      navigationBarContentColor:'#00ffff'
  };
  let promise = windowClass.setSystemBarProperties(SystemBarProperties);
C
chyyy0213 已提交
1245 1246
  promise.then((data)=> {
      console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1247 1248
  }).catch((err)=>{
      console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
1249 1250 1251
  });
  ```

C
chyyy0213 已提交
1252
### loadContent<sup>7+</sup>
Z
zengyawen 已提交
1253

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

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

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

G
ge-yafang 已提交
1260
**参数:** 
Z
zengyawen 已提交
1261

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

G
ge-yafang 已提交
1267
**示例:** 
Z
zengyawen 已提交
1268

G
ge-yafang 已提交
1269
  ```js
C
chyyy0213 已提交
1270
  windowClass.loadContent("pages/page2/page2", (err, data) => {
C
chyyy0213 已提交
1271
     if (err.code) {
Z
zengyawen 已提交
1272 1273 1274
           console.error('Failed to load the content. Cause:' + JSON.stringify(err));
           return;
     }
C
chyyy0213 已提交
1275
    console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1276 1277 1278
  });
  ```

C
chyyy0213 已提交
1279
### loadContent<sup>7+</sup>
C
chyyy0213 已提交
1280

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

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

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

G
ge-yafang 已提交
1287
**参数:** 
C
chyyy0213 已提交
1288

G
ge-yafang 已提交
1289 1290 1291
| 参数名 | 类型   | 必填 | 说明                 |
| ------ | ------ | ---- | -------------------- |
| path   | string | 是   | 设置加载页面的路径。 |
G
ge-yafang 已提交
1292

G
ge-yafang 已提交
1293
**返回值:** 
C
chyyy0213 已提交
1294

G
ge-yafang 已提交
1295 1296 1297
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1298

G
ge-yafang 已提交
1299
**示例:** 
C
chyyy0213 已提交
1300

G
ge-yafang 已提交
1301
  ```js
C
chyyy0213 已提交
1302
  let promise = windowClass.loadContent("pages/page2/page2");
C
chyyy0213 已提交
1303 1304
  promise.then((data)=> {
      console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1305 1306
  }).catch((err)=>{
      console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
Z
zengyawen 已提交
1307 1308 1309
  });
  ```

C
chyyy0213 已提交
1310
### isShowing<sup>7+</sup>
Z
zengyawen 已提交
1311

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

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

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

G
ge-yafang 已提交
1318
**参数:** 
C
chyyy0213 已提交
1319

G
ge-yafang 已提交
1320 1321 1322
| 参数名   | 类型                         | 必填 | 说明                             |
| -------- | ---------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数返回是否显示子窗口结果。 |
Z
zengyawen 已提交
1323

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

G
ge-yafang 已提交
1326
  ```js
C
chyyy0213 已提交
1327
  windowClass.isShowing((err, data) => {
C
chyyy0213 已提交
1328
      if (err.code) {
C
chyyy0213 已提交
1329
          console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1330 1331
          return;
      }
C
chyyy0213 已提交
1332
      console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1333 1334 1335 1336 1337 1338 1339
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1344
**返回值:** 
C
chyyy0213 已提交
1345

G
ge-yafang 已提交
1346 1347 1348
| 类型                   | 说明                                                  |
| ---------------------- | ----------------------------------------------------- |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回当前窗口是否已显示的结果。 |
C
chyyy0213 已提交
1349

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

G
ge-yafang 已提交
1352
  ```js
C
chyyy0213 已提交
1353
  let promise = windowClass.isShowing();
C
chyyy0213 已提交
1354 1355
  promise.then((data)=> {
      console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1356 1357 1358
  }).catch((err)=>{
      console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
  });
Z
zengyawen 已提交
1359 1360
  ```

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

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

C
chyyy0213 已提交
1365 1366
开启监听。

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

G
ge-yafang 已提交
1369
**参数:** 
C
chyyy0213 已提交
1370

G
ge-yafang 已提交
1371 1372 1373 1374
| 参数名   | 类型                          | 必填 | 说明                                                     |
| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size)&gt; | 是   | 回调返回监听到的信息。                                   |
Z
zengyawen 已提交
1375

G
ge-yafang 已提交
1376
**示例:** 
C
chyyy0213 已提交
1377

G
ge-yafang 已提交
1378
  ```js
C
chyyy0213 已提交
1379 1380 1381 1382
  var type = 'windowSizeChange';
  windowClass.on(type, (data) => {
      console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
  });
Z
zengyawen 已提交
1383 1384
  ```

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

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

C
chyyy0213 已提交
1389 1390
关闭监听。

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

G
ge-yafang 已提交
1393
**参数:** 
C
chyyy0213 已提交
1394

G
ge-yafang 已提交
1395 1396 1397 1398
| 参数名   | 类型                          | 必填 | 说明                                                     |
| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
| callback | Callback&lt;[Size](#size)&gt; | 否   | 回调返回监听到的信息。                                   |
Z
zengyawen 已提交
1399

G
ge-yafang 已提交
1400
**示例:** 
C
chyyy0213 已提交
1401

G
ge-yafang 已提交
1402
  ```js
C
chyyy0213 已提交
1403 1404
  var type = 'windowSizeChange';
  windowClass.off(type);
Z
zengyawen 已提交
1405 1406
  ```

C
chyyy0213 已提交
1407 1408 1409 1410 1411 1412
### on('systemAvoidAreaChange')<sup>7+</sup>

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

开启监听。

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

G
ge-yafang 已提交
1415
**参数:** 
C
chyyy0213 已提交
1416

G
ge-yafang 已提交
1417 1418 1419 1420
| 参数名   | 类型                                    | 必填 | 说明                                                         |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                  | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统窗口规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea)&gt; | 是   | 回调返回监听到的信息。                                       |
C
chyyy0213 已提交
1421

G
ge-yafang 已提交
1422
**示例:** 
C
chyyy0213 已提交
1423

G
ge-yafang 已提交
1424
  ```js
C
chyyy0213 已提交
1425 1426 1427 1428 1429 1430 1431 1432 1433 1434 1435 1436
  var type = 'systemAvoidAreaChange';
  windowClass.on(type, (data) => {
      console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
  });
  ```

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

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

关闭监听。

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

G
ge-yafang 已提交
1439
**参数:** 
C
chyyy0213 已提交
1440

G
ge-yafang 已提交
1441 1442 1443 1444
| 参数名   | 类型                                    | 必填 | 说明                                                         |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| type     | string                                  | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统窗口规避区变化事件。 |
| callback | Callback&lt;[AvoidArea](#avoidarea)&gt; | 否   | 回调返回监听到的信息。                                       |
C
chyyy0213 已提交
1445

G
ge-yafang 已提交
1446
**示例:** 
C
chyyy0213 已提交
1447

G
ge-yafang 已提交
1448
  ```js
C
chyyy0213 已提交
1449 1450 1451 1452
  var type = 'systemAvoidAreaChange';
  windowClass.off(type);
  ```

C
chyyy0213 已提交
1453 1454 1455 1456 1457 1458
### on('keyboardHeightChange')<sup>7+</sup>

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

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

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

G
ge-yafang 已提交
1461
**参数:** 
C
chyyy0213 已提交
1462

G
ge-yafang 已提交
1463 1464 1465 1466
| 参数名   | 类型               | 必填 | 说明                                                         |
| -------- | ------------------ | ---- | ------------------------------------------------------------ |
| type     | string             | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callbacknumber&gt; | 是   | 回调返回监听到的信息。                                       |
C
chyyy0213 已提交
1467

G
ge-yafang 已提交
1468
**示例:** 
C
chyyy0213 已提交
1469

G
ge-yafang 已提交
1470
  ```js
C
chyyy0213 已提交
1471 1472 1473 1474 1475 1476 1477 1478 1479 1480 1481 1482
  var type = 'keyboardHeightChange';
  windowClass.on(type, (data) => {
      console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1485
**参数:** 
C
chyyy0213 已提交
1486

G
ge-yafang 已提交
1487 1488 1489 1490
| 参数名   | 类型                   | 必填 | 说明                                                         |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type     | string                 | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
| callback | Callback&lt;number&gt; | 否   | 回调返回监听到的信息。                                       |
C
chyyy0213 已提交
1491

G
ge-yafang 已提交
1492
**示例:** 
C
chyyy0213 已提交
1493

G
ge-yafang 已提交
1494
  ```js
C
chyyy0213 已提交
1495 1496 1497 1498
  var type = 'keyboardHeightChange';
  windowClass.off(type);
  ```

C
chyyy0213 已提交
1499
### isSupportWideGamut<sup>8+</sup>
Z
zengyawen 已提交
1500

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

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

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

G
ge-yafang 已提交
1507
**参数:** 
C
chyyy0213 已提交
1508

G
ge-yafang 已提交
1509 1510 1511
| 参数名   | 类型                         | 必填 | 说明                             |
| -------- | ---------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数返回是否支持广色域模式。 |
Z
zengyawen 已提交
1512

G
ge-yafang 已提交
1513
**示例:** 
C
chyyy0213 已提交
1514

G
ge-yafang 已提交
1515
  ```js
C
chyyy0213 已提交
1516
  windowClass.isSupportWideGamut((err, data) => {
C
chyyy0213 已提交
1517
      if (err.code) {
C
chyyy0213 已提交
1518
          console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1519 1520
          return;
      }
C
chyyy0213 已提交
1521
      console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data))
Z
zengyawen 已提交
1522 1523 1524
  })
  ```

C
chyyy0213 已提交
1525 1526 1527 1528
### isSupportWideGamut<sup>8+</sup>

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

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

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

G
ge-yafang 已提交
1533
**返回值:** 
C
chyyy0213 已提交
1534

G
ge-yafang 已提交
1535 1536 1537
| 类型                   | 说明                                                         |
| ---------------------- | ------------------------------------------------------------ |
| Promise&lt;boolean&gt; | 以Promise形式返回结果,返回当前窗口是否支持广色域模式的结果。 |
C
chyyy0213 已提交
1538

G
ge-yafang 已提交
1539
**示例:** 
C
chyyy0213 已提交
1540

G
ge-yafang 已提交
1541
  ```js
C
chyyy0213 已提交
1542
  let promise = windowClass.isSupportWideGamut();
C
chyyy0213 已提交
1543 1544
  promise.then((data)=> {
      console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1545 1546 1547 1548 1549
  }).catch((err)=>{
      console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
  });
  ```

C
chyyy0213 已提交
1550 1551
### setColorSpace<sup>8+</sup>

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

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

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

G
ge-yafang 已提交
1558
**参数:** 
C
chyyy0213 已提交
1559

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

G
ge-yafang 已提交
1565
**示例:** 
C
chyyy0213 已提交
1566

G
ge-yafang 已提交
1567
  ```js
C
chyyy0213 已提交
1568
  windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => {
C
chyyy0213 已提交
1569
      if (err.code) {
C
chyyy0213 已提交
1570
          console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1571 1572
          return;
      }
C
chyyy0213 已提交
1573
      console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
Z
zengyawen 已提交
1574 1575 1576
  })
  ```

C
chyyy0213 已提交
1577 1578 1579 1580
### setColorSpace<sup>8+</sup>

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

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

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

G
ge-yafang 已提交
1585
**参数:** 
C
chyyy0213 已提交
1586

G
ge-yafang 已提交
1587 1588 1589
| 参数名     | 类型                      | 必填 | 说明         |
| ---------- | ------------------------- | ---- | ------------ |
| colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式 |
C
chyyy0213 已提交
1590

G
ge-yafang 已提交
1591
**返回值:** 
C
chyyy0213 已提交
1592

G
ge-yafang 已提交
1593 1594 1595
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1596

G
ge-yafang 已提交
1597
**示例:** 
C
chyyy0213 已提交
1598

G
ge-yafang 已提交
1599
  ```js
C
chyyy0213 已提交
1600
  let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT);
C
chyyy0213 已提交
1601 1602
  promise.then((data)=> {
      console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
C
chyyy0213 已提交
1603 1604 1605 1606 1607
  }).catch((err)=>{
      console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err));
  });
  ```

C
chyyy0213 已提交
1608
### getColorSpace<sup>8+</sup>
Z
zengyawen 已提交
1609

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

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

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

G
ge-yafang 已提交
1616
**参数:** 
C
chyyy0213 已提交
1617

G
ge-yafang 已提交
1618 1619 1620
| 参数名   | 类型                                           | 必填 | 说明                       |
| -------- | ---------------------------------------------- | ---- | -------------------------- |
| callback | AsyncCallback&lt;[ColorSpace](#colorspace)&gt; | 是   | 回调函数返回当前色域模式。 |
Z
zengyawen 已提交
1621

G
ge-yafang 已提交
1622
**示例:** 
C
chyyy0213 已提交
1623

G
ge-yafang 已提交
1624
  ```js
C
chyyy0213 已提交
1625
  windowClass.getColorSpace((err, data) => {
C
chyyy0213 已提交
1626
      if (err.code) {
C
chyyy0213 已提交
1627
          console.error('Failed to get window color space. Cause:' + JSON.stringify(err));
Z
zengyawen 已提交
1628 1629
          return;
      }
C
chyyy0213 已提交
1630 1631
      console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data))
  })
Z
zengyawen 已提交
1632 1633
  ```

C
chyyy0213 已提交
1634 1635 1636 1637
### getColorSpace<sup>8+</sup>

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

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

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

G
ge-yafang 已提交
1642
**返回值:** 
C
chyyy0213 已提交
1643

G
ge-yafang 已提交
1644 1645 1646
| 类型                                     | 说明                                      |
| ---------------------------------------- | ----------------------------------------- |
| Promise&lt;[ColorSpace](#colorspace)&gt; | 以Promise形式返回结果,返回当前色域模式。 |
C
chyyy0213 已提交
1647

G
ge-yafang 已提交
1648
**示例:** 
C
chyyy0213 已提交
1649

G
ge-yafang 已提交
1650
  ```js
C
chyyy0213 已提交
1651 1652 1653 1654 1655 1656 1657 1658
  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 set window colorspacet. Cause: ' + JSON.stringify(err));
  });
  ```

C
chyyy0213 已提交
1659 1660 1661 1662
### setBackgroundColor

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

G
ge-yafang 已提交
1663
设置窗口的背景色,使用callback异步回调。
C
chyyy0213 已提交
1664

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

G
ge-yafang 已提交
1667
**参数:** 
C
chyyy0213 已提交
1668

G
ge-yafang 已提交
1669 1670 1671 1672
| 参数名   | 类型                      | 必填 | 说明                                                         |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| color    | string                    | 是   | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
C
chyyy0213 已提交
1673

G
ge-yafang 已提交
1674
**示例:** 
C
chyyy0213 已提交
1675

G
ge-yafang 已提交
1676
  ```js
C
chyyy0213 已提交
1677 1678 1679 1680 1681 1682 1683 1684 1685 1686 1687 1688 1689 1690
  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));
  });
  ```

### setBackgroundColor

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

G
ge-yafang 已提交
1691
设置窗口的背景色,使用Promise异步回调。
C
chyyy0213 已提交
1692

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

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

G
ge-yafang 已提交
1697 1698 1699
| 参数名 | 类型   | 必填 | 说明                                                         |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| color  | string | 是   | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
C
chyyy0213 已提交
1700

G
ge-yafang 已提交
1701
**返回值:** 
C
chyyy0213 已提交
1702

G
ge-yafang 已提交
1703 1704 1705
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1706

G
ge-yafang 已提交
1707
**示例:** 
C
chyyy0213 已提交
1708

G
ge-yafang 已提交
1709
  ```js
C
chyyy0213 已提交
1710 1711 1712 1713 1714 1715 1716 1717 1718 1719 1720 1721 1722
  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));
  });
  ```

### setBrightness

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

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

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

G
ge-yafang 已提交
1727
**参数:** 
C
chyyy0213 已提交
1728

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

G
ge-yafang 已提交
1734
**示例:** 
C
chyyy0213 已提交
1735

G
ge-yafang 已提交
1736
  ```js
C
chyyy0213 已提交
1737 1738 1739 1740 1741 1742 1743 1744 1745 1746 1747 1748 1749 1750
  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));
  });
  ```

### setBrightness

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

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

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

G
ge-yafang 已提交
1755
**参数:** 
C
chyyy0213 已提交
1756

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

G
ge-yafang 已提交
1761
**返回值:** 
C
chyyy0213 已提交
1762

G
ge-yafang 已提交
1763 1764 1765
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1766

G
ge-yafang 已提交
1767
**示例:** 
C
chyyy0213 已提交
1768

G
ge-yafang 已提交
1769
  ```js
C
chyyy0213 已提交
1770 1771 1772 1773 1774 1775 1776 1777 1778 1779 1780 1781 1782
  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));
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1787
**参数:** 
C
chyyy0213 已提交
1788

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

G
ge-yafang 已提交
1794
**示例:** 
C
chyyy0213 已提交
1795

G
ge-yafang 已提交
1796
  ```js
C
chyyy0213 已提交
1797 1798 1799 1800 1801 1802 1803 1804 1805 1806 1807 1808 1809 1810
  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));
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1815
**参数:** 
C
chyyy0213 已提交
1816

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

G
ge-yafang 已提交
1821
**返回值:** 
C
chyyy0213 已提交
1822

G
ge-yafang 已提交
1823 1824 1825
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1826

G
ge-yafang 已提交
1827
**示例:** 
C
chyyy0213 已提交
1828

G
ge-yafang 已提交
1829
  ```js
C
chyyy0213 已提交
1830 1831 1832 1833 1834 1835 1836 1837 1838 1839 1840 1841 1842
  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));
  });
  ```

### setKeepScreenOn

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

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

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

G
ge-yafang 已提交
1847
**参数:** 
C
chyyy0213 已提交
1848

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

G
ge-yafang 已提交
1854
**示例:** 
C
chyyy0213 已提交
1855

G
ge-yafang 已提交
1856
  ```js
C
chyyy0213 已提交
1857 1858 1859 1860 1861 1862 1863 1864 1865 1866 1867 1868 1869 1870
  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));
  });
  ```

### setKeepScreenOn

setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;

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

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

G
ge-yafang 已提交
1875
**参数:** 
C
chyyy0213 已提交
1876

G
ge-yafang 已提交
1877 1878 1879
| 参数名         | 类型    | 必填 | 说明                     |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是   | 是否设置为屏幕常亮状态。 |
C
chyyy0213 已提交
1880

G
ge-yafang 已提交
1881
**返回值:** 
C
chyyy0213 已提交
1882

G
ge-yafang 已提交
1883 1884 1885
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1886

G
ge-yafang 已提交
1887
**示例:** 
C
chyyy0213 已提交
1888

G
ge-yafang 已提交
1889
  ```js
C
chyyy0213 已提交
1890 1891 1892 1893 1894 1895 1896 1897 1898 1899 1900 1901 1902
  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.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1907
**参数:** 
C
chyyy0213 已提交
1908

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

G
ge-yafang 已提交
1914
**示例:** 
C
chyyy0213 已提交
1915

G
ge-yafang 已提交
1916
  ```js
C
chyyy0213 已提交
1917 1918 1919 1920 1921 1922 1923 1924 1925 1926 1927 1928 1929 1930 1931
  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));
  
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1936
**参数:** 
C
chyyy0213 已提交
1937

G
ge-yafang 已提交
1938 1939 1940
| 参数名        | 类型    | 必填 | 说明                 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。 |
C
chyyy0213 已提交
1941

G
ge-yafang 已提交
1942
**返回值:** 
C
chyyy0213 已提交
1943

G
ge-yafang 已提交
1944 1945 1946
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
1947

G
ge-yafang 已提交
1948
**示例:** 
C
chyyy0213 已提交
1949

G
ge-yafang 已提交
1950
  ```js
C
chyyy0213 已提交
1951 1952 1953 1954 1955 1956 1957 1958 1959 1960 1961 1962 1963
  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));
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1968
**参数:** 
C
chyyy0213 已提交
1969

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

G
ge-yafang 已提交
1975
**示例:** 
C
chyyy0213 已提交
1976

G
ge-yafang 已提交
1977
  ```js
C
chyyy0213 已提交
1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988 1989 1990 1991 1992
  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));
  
  });
  ```

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

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

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

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

G
ge-yafang 已提交
1997
**参数:** 
C
chyyy0213 已提交
1998

G
ge-yafang 已提交
1999 2000 2001
| 参数名      | 类型    | 必填 | 说明                 |
| ----------- | ------- | ---- | -------------------- |
| isTouchable | boolean | 是   | 窗口是否为可触状态。 |
C
chyyy0213 已提交
2002

G
ge-yafang 已提交
2003
**返回值:** 
C
chyyy0213 已提交
2004

G
ge-yafang 已提交
2005 2006 2007
| 类型                | 说明                                            |
| ------------------- | ----------------------------------------------- |
| Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |
C
chyyy0213 已提交
2008

G
ge-yafang 已提交
2009
**示例:** 
C
chyyy0213 已提交
2010

G
ge-yafang 已提交
2011
  ```js
C
chyyy0213 已提交
2012 2013 2014 2015 2016 2017 2018 2019 2020
  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));
  });
  ```

G
ge-yafang 已提交
2021
## WindowStageEventType<sup>9+</sup>
L
leafly2021 已提交
2022 2023 2024

WindowStage生命周期。

G
ge-yafang 已提交
2025
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2026 2027 2028 2029 2030 2031 2032 2033 2034 2035 2036 2037 2038 2039 2040 2041

| 名称       | 默认值 | 说明     |
| ---------- | ------ | -------- |
| FOREGROUND | 1      | 切到前台 |
| ACTIVE     | 2      | 获焦状态 |
| INACTIVE   | 3      | 失焦状态 |
| BACKGROUND | 4      | 切到后台 |

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

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

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

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

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

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

G
ge-yafang 已提交
2046
**返回值:** 
L
leafly2021 已提交
2047

G
ge-yafang 已提交
2048 2049 2050
| 类型                             | 说明                                                       |
| -------------------------------- | ---------------------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前WindowStage下的主窗口对象。 |
L
leafly2021 已提交
2051

G
ge-yafang 已提交
2052
**示例:** 
L
leafly2021 已提交
2053

G
ge-yafang 已提交
2054
  ```ts
L
leafly2021 已提交
2055 2056 2057 2058 2059 2060 2061 2062 2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073
  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));
          });
      }
  }
  ```

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

getMainWindow(callback: AsyncCallback&lt;Window&gt;): void

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

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

G
ge-yafang 已提交
2078
**参数:** 
L
leafly2021 已提交
2079

G
ge-yafang 已提交
2080 2081 2082
| 参数名   | 类型                                   | 必填 | 说明                                    |
| -------- | -------------------------------------- | ---- | --------------------------------------- |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调返回当前WindowStage下的主窗口对象。 |
L
leafly2021 已提交
2083

G
ge-yafang 已提交
2084
**示例:** 
L
leafly2021 已提交
2085

G
ge-yafang 已提交
2086
  ```ts
L
leafly2021 已提交
2087 2088 2089 2090 2091 2092 2093 2094 2095 2096 2097 2098 2099 2100 2101 2102 2103 2104 2105 2106
  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));
          });
      }
  }
  ```

### createSubWindow<sup>9+</sup>

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

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

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

G
ge-yafang 已提交
2111
**参数:** 
L
leafly2021 已提交
2112

G
ge-yafang 已提交
2113 2114 2115
| 参数名 | 类型   | 必填 | 说明           |
| ------ | ------ | ---- | -------------- |
| name   | String | 是   | 子窗口的名字。 |
G
ge-yafang 已提交
2116

G
ge-yafang 已提交
2117
**返回值:** 
L
leafly2021 已提交
2118

G
ge-yafang 已提交
2119 2120 2121
| 类型                             | 说明                                              |
| -------------------------------- | ------------------------------------------------- |
| Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前创建的子窗口对象。 |
G
ge-yafang 已提交
2122

G
ge-yafang 已提交
2123
**示例:** 
L
leafly2021 已提交
2124

G
ge-yafang 已提交
2125
  ```ts
L
leafly2021 已提交
2126 2127 2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var windowClass = null;
          let promise = windowStage.createSubWindow("mySubWindow");
          promise.then((data)=> {
              windowClass = data;
              console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data))
          }).catch((err)=>{
              console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
          })
      }
  }
  ```

### createSubWindow<sup>9+</sup>

createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void

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

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

G
ge-yafang 已提交
2149
**参数:** 
L
leafly2021 已提交
2150

G
ge-yafang 已提交
2151 2152 2153 2154
| 参数名   | 类型                                   | 必填 | 说明                           |
| -------- | -------------------------------------- | ---- | ------------------------------ |
| name     | String                                 | 是   | 子窗口的名字。                 |
| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调返回当前创建的子窗口对象。 |
L
leafly2021 已提交
2155

G
ge-yafang 已提交
2156
**示例:** 
L
leafly2021 已提交
2157

G
ge-yafang 已提交
2158
  ```ts
L
leafly2021 已提交
2159 2160 2161 2162 2163 2164 2165 2166 2167 2168 2169 2170 2171 2172 2173 2174 2175 2176 2177 2178 2179
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var windowClass = null;
          windowStage.createSubWindow("mySubWindow", (err, data) => {
              if (err.code) {
                  console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
                  return;
              }
              windowClass = data;
              console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data));
              windowClass.resetSize(500, 1000);
          });
      }
  }
  ```

### getSubWindow<sup>9+</sup>

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

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

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

G
ge-yafang 已提交
2184
**返回值:** 
L
leafly2021 已提交
2185

G
ge-yafang 已提交
2186 2187 2188
| 类型                                          | 说明                                                         |
| --------------------------------------------- | ------------------------------------------------------------ |
| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | 以Promise形式返回结果,返回当前WindowStage下的所有子窗口对象。 |
L
leafly2021 已提交
2189

G
ge-yafang 已提交
2190
**示例:** 
L
leafly2021 已提交
2191

G
ge-yafang 已提交
2192
  ```ts
L
leafly2021 已提交
2193 2194 2195 2196 2197 2198 2199 2200 2201 2202 2203 2204 2205 2206 2207 2208 2209 2210 2211
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var windowClass = null;
          let promise = windowStage.getSubWindow();
          promise.then((data)=> {
              windowClass = data;
              console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data))
          }).catch((err)=>{
              console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
          })
      }
  }
  ```

### getSubWindow<sup>9+</sup>

getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void

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

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

G
ge-yafang 已提交
2216
**参数:** 
L
leafly2021 已提交
2217

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

G
ge-yafang 已提交
2222
**示例:** 
L
leafly2021 已提交
2223

G
ge-yafang 已提交
2224
  ```ts
L
leafly2021 已提交
2225 2226 2227 2228 2229 2230 2231 2232 2233 2234 2235 2236 2237 2238 2239 2240 2241 2242 2243 2244
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var windowClass = null;
          windowStage.getSubWindow((err, data) => {
              if (err.code) {
                  console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
                  return;
              }
              windowClass = data;
              console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data));
          });
      }
  }
  ```

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

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

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

G
ge-yafang 已提交
2247
**系统能力:** SystemCapability.WindowManager.WindowManager.Coretype为'windowSizeChange'
L
leafly2021 已提交
2248

G
ge-yafang 已提交
2249
**参数:** 
L
leafly2021 已提交
2250

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

G
ge-yafang 已提交
2256
**示例:** 
L
leafly2021 已提交
2257

G
ge-yafang 已提交
2258
  ```ts
L
leafly2021 已提交
2259 2260 2261 2262 2263 2264 2265 2266 2267 2268 2269 2270 2271
  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 已提交
2272

L
leafly2021 已提交
2273 2274 2275 2276 2277 2278
### on('windowStageEvent')<sup>9+</sup>

on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void

开启WindowStage生命周期变化的监听。

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

G
ge-yafang 已提交
2281
**参数:** 
L
leafly2021 已提交
2282

G
ge-yafang 已提交
2283 2284 2285 2286
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调返回监听到的信息。                                       |
L
leafly2021 已提交
2287

G
ge-yafang 已提交
2288
**示例:** 
L
leafly2021 已提交
2289

G
ge-yafang 已提交
2290
  ```ts
L
leafly2021 已提交
2291 2292 2293 2294 2295 2296 2297 2298 2299 2300 2301 2302 2303 2304 2305 2306 2307
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var type = 'windowStageEvent';
          windowStage.on(type, (data) => {
              console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + JSON.stringify(data));
          });
      }
  }
  ```

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

off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void

关闭WindowStage生命周期变化的监听。

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

G
ge-yafang 已提交
2310
**参数:** 
L
leafly2021 已提交
2311

G
ge-yafang 已提交
2312 2313 2314 2315
| 参数名   | 类型                                                         | 必填 | 说明                                                         |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调返回监听到的信息。                                       |
G
ge-yafang 已提交
2316

G
ge-yafang 已提交
2317
**示例:** 
L
leafly2021 已提交
2318

G
ge-yafang 已提交
2319
  ```ts
L
leafly2021 已提交
2320 2321 2322 2323 2324 2325 2326 2327
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var type = 'windowStageEvent';
          windowStage.off(type);
      }
  }
  ```