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

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

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

## 导入模块

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

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

窗口类型。

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

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

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

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

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

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

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

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

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

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

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

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

状态栏导航栏的属性。

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

C
chyyy0213 已提交
58 59
| 名称                                   | 参数类型 | 可读 | 可写 | 说明                                                         |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
C
chyyy0213 已提交
60 61 62 63 64 65
| 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 已提交
66

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

表示窗口内容规避区域。

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

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

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

窗口大小。

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

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

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

窗口属性。

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

C
chyyy0213 已提交
139 140
| 名称                            | 参数类型                  | 可读 | 可写 | 说明                                                         |
| ------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
C
chyyy0213 已提交
141 142 143 144 145 146 147 148 149 150
| 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表示最大亮度值。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| dimBehindValue<sup>7+</sup>     | number                    | 是   | 是   | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isKeepScreenOn                  | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isPrivacyMode<sup>7+</sup>      | boolean                   | 是   | 是   | 隐私模式,默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
G
ge-yafang 已提交
151
| isRoundCorner<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
C
chyyy0213 已提交
152
| isTransparent<sup>7+</sup>      | boolean                   | 是   | 是   | 窗口是否透明。默认为false。<br/>本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
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

C
chyyy0213 已提交
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 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 202 203

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

创建子窗口,使用Promise方式作为异步方法。

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 210 211 212 213 214

  | 参数名 | 类型                      | 必填 | 说明       |
  | ------ | ------------------------- | ---- | ---------- |
  | id     | string                    | 是   | 窗口id。   |
  | type   | [WindowType](#windowtype) | 是   | 窗口类型。 |

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

  | 类型                             | 说明                                              |
  | -------------------------------- | ------------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前创建的子窗口对象。 |

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 239 240
创建子窗口,使用callback方式作为异步方法,其中Context详见[Context](js-apis-Context.md)

从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 273 274
创建子窗口,使用Promise方式作为异步方法,其中Context详见[Context](js-apis-Context.md)

从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 288 289 290 291

  | 类型                             | 说明                                            |
  | -------------------------------- | ----------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前创建的窗口对象。 |

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

C
chyyy0213 已提交
309
查找id所对应的窗口,使用callback方式作为异步方法。
C
chyyy0213 已提交
310

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

G
ge-yafang 已提交
313
**参数:**
C
chyyy0213 已提交
314 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 338 339
  });
  ```

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

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

查找id所对应的窗口,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
342
**参数:**
C
chyyy0213 已提交
343 344 345 346 347

  | 参数名 | 类型   | 必填 | 说明     |
  | ------ | ------ | ---- | -------- |
  | id     | string | 是   | 窗口id。 |

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

  | 类型                             | 说明                                            |
  | -------------------------------- | ----------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前查找的窗口对象。 |

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

C
chyyy0213 已提交
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 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 401 402
## window.getTopWindow

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

获取当前应用内最后显示的窗口,使用Promise方式作为异步方法。

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 409 410 411 412

  | 类型                             | 说明                                                      |
  | -------------------------------- | --------------------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |

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

C
chyyy0213 已提交
430
获取当前应用内最后显示的窗口,使用callback方式作为异步方法。
Z
zengyawen 已提交
431

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

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

C
chyyy0213 已提交
436 437
  | 参数名   | 类型                                   | 必填 | 说明                                                         |
  | -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
438
  | 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 已提交
439
  | 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 459 460
## window.getTopWindow<sup>8+</sup>

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

获取当前应用内最后显示的窗口,使用Promise方式作为异步方法。

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

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

C
chyyy0213 已提交
465 466
  | 参数名 | 类型    | 必填 | 说明                                                         |
  | ------ | ------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
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 471 472 473 474

  | 类型                             | 说明                                                      |
  | -------------------------------- | --------------------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |

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 500 501

  | 参数名   | 类型                                                      | 必填 | 说明                                                         |
  | -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
502
  | type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
C
chyyy0213 已提交
503
  | 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 526 527

  | 参数名   | 类型                                                      | 必填 | 说明                                                         |
  | -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
G
ge-yafang 已提交
528
  | type     | string                                                    | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
C
chyyy0213 已提交
529
  | 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

C
chyyy0213 已提交
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 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 574 575

隐藏当前窗口,使用Promise方式作为异步方法。

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

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

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
601
显示当前窗口,使用callback方式作为异步方法。
Z
zengyawen 已提交
602

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

G
ge-yafang 已提交
605
**参数:**
C
chyyy0213 已提交
606 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 627 628
### show<sup>7+</sup>

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

显示当前窗口,使用Promise方式作为异步方法。

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

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
652
销毁当前窗口,使用callback方式作为异步方法。
Z
zengyawen 已提交
653

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

G
ge-yafang 已提交
656
**参数:**
C
chyyy0213 已提交
657 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 678 679
### destroy<sup>7+</sup>

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

销毁当前窗口,使用Promise方式作为异步方法。

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

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
703
移动窗口位置,使用callback方式作为异步方法。
C
chyyy0213 已提交
704

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

G
ge-yafang 已提交
707
**参数:**
C
chyyy0213 已提交
708 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 732 733
### moveTo<sup>7+</sup>

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

移动窗口位置,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
736
**参数:**
C
chyyy0213 已提交
737 738 739 740 741 742

  | 参数名 | 类型   | 必填 | 说明                                    |
  | ------ | ------ | ---- | --------------------------------------- |
  | x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移。 |
  | y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
764
改变当前窗口大小,使用callback方式作为异步方法。
Z
zengyawen 已提交
765

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

G
ge-yafang 已提交
768
**参数:**
C
chyyy0213 已提交
769 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 792 793
### resetSize<sup>7+</sup>

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

改变当前窗口大小,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
796
**参数:**
C
chyyy0213 已提交
797 798 799 800 801 802

  | 参数名 | 类型   | 必填 | 说明             |
  | ------ | ------ | ---- | ---------------- |
  | width  | number | 是   | 目标窗口的宽度。 |
  | height | number | 是   | 目标窗口的高度。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
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

C
chyyy0213 已提交
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 854 855
### setWindowType<sup>7+</sup>

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

设置窗口类型,使用Promise方式作为异步方法。

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

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

G
ge-yafang 已提交
860
**参数:**
C
chyyy0213 已提交
861 862 863 864 865

  | 参数名 | 类型                      | 必填 | 说明       |
  | ------ | ------------------------- | ---- | ---------- |
  | type   | [WindowType](#windowtype) | 是   | 窗口类型。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
888
获取当前窗口的属性,使用callback方式作为异步方法返回WindowProperties。
Z
zengyawen 已提交
889

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

G
ge-yafang 已提交
892
**参数:**
C
chyyy0213 已提交
893 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 914 915
### getProperties

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

获取当前窗口的属性,使用promise方式作为异步方法返回WindowProperties。

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

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

  | 类型                                                 | 说明                                  |
  | ---------------------------------------------------- | ------------------------------------- |
  | Promise&lt;[WindowProperties](#windowproperties)&gt; | 以Promise形式返回结果,返回窗口属性。 |

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

C
chyyy0213 已提交
939
获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用callback方式作为异步方法。
C
chyyy0213 已提交
940

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

G
ge-yafang 已提交
943
**参数:**
C
chyyy0213 已提交
944 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 967 968
### getAvoidArea<sup>7+</sup>

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

获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用promise方式作为异步方法。

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

G
ge-yafang 已提交
971
**参数:**
C
chyyy0213 已提交
972 973 974 975 976

  | 参数名 | 类型                            | 必填 | 说明                                                         |
  | ------ | ------------------------------- | ---- | ------------------------------------------------------------ |
  | type   | [AvoidAreaType](#avoidareatype) | 是   | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 |

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

  | 类型                                   | 说明                                          |
  | -------------------------------------- | --------------------------------------------- |
  | Promise&lt;[AvoidArea](#avoidarea)&gt; | 以Promise形式返回结果,返回窗口内容规避区域。 |

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

C
chyyy0213 已提交
998
设置是否为全屏状态,使用callback方式作为异步方法。
Z
zengyawen 已提交
999

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

G
ge-yafang 已提交
1002
**参数:**
C
chyyy0213 已提交
1003 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 1026 1027
  });
  ```

### setFullScreen

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

设置是否为全屏状态,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
1030
**参数:**
C
chyyy0213 已提交
1031 1032 1033 1034 1035

  | 参数名       | 类型    | 必填 | 说明                                           |
  | ------------ | ------- | ---- | ---------------------------------------------- |
  | isFullScreen | boolean | 是   | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
1058
设置窗口的布局是否为全屏显示状态,使用callback方式作为异步方法。
Z
zengyawen 已提交
1059

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

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

C
chyyy0213 已提交
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 1086 1087
  });
  ```

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

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

设置窗口的布局是否为全屏显示状态,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
1090
**参数:**
C
chyyy0213 已提交
1091 1092 1093 1094 1095

  | 参数名             | 类型    | 必填 | 说明                                                         |
  | ------------------ | ------- | ---- | ------------------------------------------------------------ |
  | isLayoutFullScreen | boolean | 是   | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
1118
设置导航栏、状态栏的可见模式,使用callback方式作为异步方法。
Z
zengyawen 已提交
1119

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

G
ge-yafang 已提交
1122
**参数:**
C
chyyy0213 已提交
1123 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 1146 1147
  });
  ```

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

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

设置导航栏、状态栏的可见模式,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
1150
**参数:**
C
chyyy0213 已提交
1151 1152 1153 1154 1155

  | 参数名 | 类型  | 必填 | 说明                                                         |
  | ------ | ----- | ---- | ------------------------------------------------------------ |
  | names  | Array | 是   | 设置状态栏和导航栏是否显示。例如,需全部显示,该参数设置为["status",&nbsp;"navigation"], 不设置,则默认不显示。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
1178
设置窗口内导航栏、状态栏的属性,使用callback方式作为异步方法。
C
chyyy0213 已提交
1179

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

G
ge-yafang 已提交
1182
**参数:**
C
chyyy0213 已提交
1183 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 1215 1216
  });
  ```

### setSystemBarProperties

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

设置窗口内导航栏、状态栏的属性,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
1219
**参数:**
C
chyyy0213 已提交
1220 1221 1222 1223 1224

  | 参数名              | 类型                                        | 必填 | 说明                 |
  | ------------------- | ------------------------------------------- | ---- | -------------------- |
  | SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏状态栏的属性。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
1256
当前窗口加载具体页面内容,使用callback方式作为异步方法。
Z
zengyawen 已提交
1257

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

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

C
chyyy0213 已提交
1262 1263
  | 参数名   | 类型                      | 必填 | 说明                 |
  | -------- | ------------------------- | ---- | -------------------- |
C
chyyy0213 已提交
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 1283 1284

当前窗口加载具体页面内容,使用Promise方式作为异步方法。

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

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

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

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

C
chyyy0213 已提交
1314
判断当前窗口是否已显示,使用callback方式作为异步方法。
Z
zengyawen 已提交
1315

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

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

C
chyyy0213 已提交
1320 1321
  | 参数名   | 类型                         | 必填 | 说明                             |
  | -------- | ---------------------------- | ---- | -------------------------------- |
C
chyyy0213 已提交
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 1340 1341
  });
  ```

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

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

判断当前窗口是否已显示,使用Promise方式作为异步方法。

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

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

  | 类型                   | 说明                                                  |
  | ---------------------- | ----------------------------------------------------- |
  | Promise&lt;boolean&gt; | 以Promise形式返回结果,返回当前窗口是否已显示的结果。 |

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 1417 1418

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

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 1441 1442

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

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 1459 1460
### on('keyboardHeightChange')<sup>7+</sup>

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

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

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1463
**参数:**
C
chyyy0213 已提交
1464

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

G
ge-yafang 已提交
1470
**示例:**
C
chyyy0213 已提交
1471

G
ge-yafang 已提交
1472
  ```js
C
chyyy0213 已提交
1473 1474 1475 1476 1477 1478 1479 1480 1481 1482 1483 1484 1485 1486
  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

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

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1489
**参数:**
C
chyyy0213 已提交
1490 1491 1492

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

G
ge-yafang 已提交
1496
**示例:**
C
chyyy0213 已提交
1497

G
ge-yafang 已提交
1498
  ```js
C
chyyy0213 已提交
1499 1500 1501 1502
  var type = 'keyboardHeightChange';
  windowClass.off(type);
  ```

C
chyyy0213 已提交
1503
### isSupportWideGamut<sup>8+</sup>
Z
zengyawen 已提交
1504

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

C
chyyy0213 已提交
1507
判断当前窗口是否支持广色域模式,使用callback方式作为异步方法。
Z
zengyawen 已提交
1508

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

G
ge-yafang 已提交
1511
**参数:**
C
chyyy0213 已提交
1512 1513 1514 1515

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

G
ge-yafang 已提交
1517
**示例:**
C
chyyy0213 已提交
1518

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

C
chyyy0213 已提交
1529 1530 1531 1532 1533 1534
### isSupportWideGamut<sup>8+</sup>

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

判断当前窗口是否支持广色域模式,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
1537
**返回值:**
C
chyyy0213 已提交
1538 1539 1540 1541 1542

  | 类型                   | 说明                                                         |
  | ---------------------- | ------------------------------------------------------------ |
  | Promise&lt;boolean&gt; | 以Promise形式返回结果,返回当前窗口是否支持广色域模式的结果。 |

G
ge-yafang 已提交
1543
**示例:**
C
chyyy0213 已提交
1544

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

C
chyyy0213 已提交
1554 1555
### setColorSpace<sup>8+</sup>

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

C
chyyy0213 已提交
1558
设置当前窗口为广色域模式或默认色域模式,使用callback方式作为异步方法。
Z
zengyawen 已提交
1559

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

G
ge-yafang 已提交
1562
**参数:**
C
chyyy0213 已提交
1563 1564 1565 1566 1567

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

G
ge-yafang 已提交
1569
**示例:**
C
chyyy0213 已提交
1570

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

C
chyyy0213 已提交
1581 1582 1583 1584
### setColorSpace<sup>8+</sup>

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

G
ge-yafang 已提交
1585
设置当前窗口为广色域模式或默认色域模式,使用Promise方式作为异步方法。
C
chyyy0213 已提交
1586

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

G
ge-yafang 已提交
1589
**参数:**
C
chyyy0213 已提交
1590 1591 1592 1593 1594

  | 参数名     | 类型                      | 必填 | 说明         |
  | ---------- | ------------------------- | ---- | ------------ |
  | colorSpace | [ColorSpace](#colorspace) | 是   | 设置色域模式 |

G
ge-yafang 已提交
1595
**返回值:**
C
chyyy0213 已提交
1596 1597 1598 1599 1600

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
1601
**示例:**
C
chyyy0213 已提交
1602

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

C
chyyy0213 已提交
1612
### getColorSpace<sup>8+</sup>
Z
zengyawen 已提交
1613

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

C
chyyy0213 已提交
1616
获取当前窗口色域模式,使用callback方式作为异步方法。
Z
zengyawen 已提交
1617

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

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

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

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

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

C
chyyy0213 已提交
1638 1639 1640 1641 1642 1643
### getColorSpace<sup>8+</sup>

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

获取当前窗口色域模式,使用Promise方式作为异步方法。

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

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

  | 类型                                     | 说明                                      |
  | ---------------------------------------- | ----------------------------------------- |
  | Promise&lt;[ColorSpace](#colorspace)&gt; | 以Promise形式返回结果,返回当前色域模式。 |

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

G
ge-yafang 已提交
1654
  ```js
C
chyyy0213 已提交
1655 1656 1657 1658 1659 1660 1661 1662
  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 已提交
1663 1664 1665 1666 1667 1668 1669 1670
### setBackgroundColor

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

设置窗口的背景色,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1673
**参数:**
C
chyyy0213 已提交
1674 1675 1676 1677 1678 1679

  | 参数名   | 类型                      | 必填 | 说明                                                         |
  | -------- | ------------------------- | ---- | ------------------------------------------------------------ |
  | color    | string                    | 是   | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
  | callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |

G
ge-yafang 已提交
1680
**示例:**
C
chyyy0213 已提交
1681

G
ge-yafang 已提交
1682
  ```js
C
chyyy0213 已提交
1683 1684 1685 1686 1687 1688 1689 1690 1691 1692 1693 1694 1695 1696 1697 1698 1699 1700
  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;

设置窗口的背景色,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1703
**参数:**
C
chyyy0213 已提交
1704 1705 1706 1707 1708

  | 参数名 | 类型   | 必填 | 说明                                                         |
  | ------ | ------ | ---- | ------------------------------------------------------------ |
  | color  | string | 是   | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |

G
ge-yafang 已提交
1709
**返回值:**
C
chyyy0213 已提交
1710 1711 1712 1713 1714

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
1715
**示例:**
C
chyyy0213 已提交
1716

G
ge-yafang 已提交
1717
  ```js
C
chyyy0213 已提交
1718 1719 1720 1721 1722 1723 1724 1725 1726 1727 1728 1729 1730 1731 1732 1733 1734
  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

设置屏幕亮度值,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1737
**参数:**
C
chyyy0213 已提交
1738 1739 1740 1741 1742 1743

  | 参数名     | 类型                      | 必填 | 说明                                 |
  | ---------- | ------------------------- | ---- | ------------------------------------ |
  | brightness | number                    | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
  | callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                           |

G
ge-yafang 已提交
1744
**示例:**
C
chyyy0213 已提交
1745

G
ge-yafang 已提交
1746
  ```js
C
chyyy0213 已提交
1747 1748 1749 1750 1751 1752 1753 1754 1755 1756 1757 1758 1759 1760 1761 1762 1763 1764
  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;

设置屏幕亮度值,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1767
**参数:**
C
chyyy0213 已提交
1768 1769 1770 1771 1772

  | 参数名     | 类型   | 必填 | 说明                                 |
  | ---------- | ------ | ---- | ------------------------------------ |
  | brightness | number | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |

G
ge-yafang 已提交
1773
**返回值:**
C
chyyy0213 已提交
1774 1775 1776 1777 1778

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
1779
**示例:**
C
chyyy0213 已提交
1780

G
ge-yafang 已提交
1781
  ```js
C
chyyy0213 已提交
1782 1783 1784 1785 1786 1787 1788 1789 1790 1791 1792 1793 1794 1795 1796 1797 1798
  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));
  });
  ```

### setDimBehind<sup>7+</sup>

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

窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1801
**参数:**
C
chyyy0213 已提交
1802 1803 1804 1805 1806 1807

  | 参数名         | 类型                      | 必填 | 说明                                               |
  | -------------- | ------------------------- | ---- | -------------------------------------------------- |
  | dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
  | callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                         |

G
ge-yafang 已提交
1808
**示例:**
C
chyyy0213 已提交
1809

G
ge-yafang 已提交
1810
  ```js
C
chyyy0213 已提交
1811 1812 1813 1814 1815 1816 1817 1818 1819 1820 1821 1822 1823 1824 1825 1826 1827
  windowClass.setDimBehind(0.5, (err, data) => {
      if (err.code) {
          console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
          return;
      }
      console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data));
  });
  ```

### setDimBehind<sup>7+</sup>

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

窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1830
**参数:**
C
chyyy0213 已提交
1831 1832 1833 1834 1835

  | 参数名         | 类型   | 必填 | 说明                                               |
  | -------------- | ------ | ---- | -------------------------------------------------- |
  | dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |

G
ge-yafang 已提交
1836
**返回值:**
C
chyyy0213 已提交
1837 1838 1839 1840 1841

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
1842
**示例:**
C
chyyy0213 已提交
1843

G
ge-yafang 已提交
1844
  ```js
C
chyyy0213 已提交
1845 1846 1847 1848 1849 1850 1851 1852 1853 1854 1855 1856 1857 1858 1859 1860
  let promise = windowClass.setDimBehind(0.5);
  promise.then((data)=> {
      console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data))
  }).catch((err)=>{
      console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
  });
  ```

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

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

设置点击时是否支持切换焦点窗口,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1863
**参数:**
C
chyyy0213 已提交
1864 1865 1866 1867 1868 1869

  | 参数名      | 类型                      | 必填 | 说明                         |
  | ----------- | ------------------------- | ---- | ---------------------------- |
  | isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。 |
  | callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |

G
ge-yafang 已提交
1870
**示例:**
C
chyyy0213 已提交
1871

G
ge-yafang 已提交
1872
  ```js
C
chyyy0213 已提交
1873 1874 1875 1876 1877 1878 1879 1880 1881 1882 1883 1884 1885 1886 1887 1888 1889 1890
  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;

设置点击时是否支持切换焦点窗口,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1893
**参数:**
C
chyyy0213 已提交
1894 1895 1896 1897 1898

  | 参数名      | 类型    | 必填 | 说明                         |
  | ----------- | ------- | ---- | ---------------------------- |
  | isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。 |

G
ge-yafang 已提交
1899
**返回值:**
C
chyyy0213 已提交
1900 1901 1902 1903 1904

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

G
ge-yafang 已提交
1907
  ```js
C
chyyy0213 已提交
1908 1909 1910 1911 1912 1913 1914 1915 1916 1917 1918 1919 1920 1921 1922 1923 1924
  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

设置屏幕是否为常亮状态,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1927
**参数:**
C
chyyy0213 已提交
1928 1929 1930 1931 1932 1933

  | 参数名         | 类型                      | 必填 | 说明                     |
  | -------------- | ------------------------- | ---- | ------------------------ |
  | isKeepScreenOn | boolean                   | 是   | 是否设置为屏幕常亮状态。 |
  | callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |

G
ge-yafang 已提交
1934
**示例:**
C
chyyy0213 已提交
1935

G
ge-yafang 已提交
1936
  ```js
C
chyyy0213 已提交
1937 1938 1939 1940 1941 1942 1943 1944 1945 1946 1947 1948 1949 1950 1951 1952 1953 1954
  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;

设置屏幕是否为常亮状态,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1957
**参数:**
C
chyyy0213 已提交
1958 1959 1960 1961 1962

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

G
ge-yafang 已提交
1963
**返回值:**
C
chyyy0213 已提交
1964 1965 1966 1967 1968

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
1969
**示例:**
C
chyyy0213 已提交
1970

G
ge-yafang 已提交
1971
  ```js
C
chyyy0213 已提交
1972 1973 1974 1975 1976 1977 1978 1979 1980 1981 1982 1983 1984 1985 1986 1987 1988
  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));
  });
  ```

### setOutsideTouchable<sup>7+</sup>

setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void

设置是否允许可点击子窗口以外的区域,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
1991
**参数:**
C
chyyy0213 已提交
1992 1993 1994 1995 1996 1997

  | 参数名    | 类型                      | 必填 | 说明             |
  | --------- | ------------------------- | ---- | ---------------- |
  | touchable | boolean                   | 是   | 设置是否可点击。 |
  | callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |

G
ge-yafang 已提交
1998
**示例:**
C
chyyy0213 已提交
1999

G
ge-yafang 已提交
2000
  ```js
C
chyyy0213 已提交
2001 2002 2003 2004 2005 2006 2007 2008 2009 2010 2011 2012 2013 2014 2015 2016 2017
  windowClass.setOutsideTouchable(true, (err, data) => {
      if (err.code) {
          console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
          return;
      }
      console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
  })
  ```

### setOutsideTouchable<sup>7+</sup>

setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;

设置是否允许可点击子窗口以外的区域,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
2020
**参数:**
C
chyyy0213 已提交
2021 2022 2023 2024 2025

  | 参数名    | 类型    | 必填 | 说明             |
  | --------- | ------- | ---- | ---------------- |
  | touchable | boolean | 是   | 设置是否可点击。 |

G
ge-yafang 已提交
2026
**返回值:**
C
chyyy0213 已提交
2027 2028 2029 2030 2031

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
2032
**示例:**
C
chyyy0213 已提交
2033

G
ge-yafang 已提交
2034
  ```js
C
chyyy0213 已提交
2035 2036 2037 2038 2039 2040 2041 2042 2043 2044 2045 2046 2047 2048 2049 2050
  let promise = windowClass.setOutsideTouchable(true);
  promise.then((data)=> {
      console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
  }).catch((err)=>{
      console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
  });
  ```

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

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

设置窗口是否为隐私模式,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
2053
**参数:**
C
chyyy0213 已提交
2054 2055 2056 2057 2058 2059

  | 参数名        | 类型                      | 必填 | 说明                 |
  | ------------- | ------------------------- | ---- | -------------------- |
  | isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。 |
  | callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

G
ge-yafang 已提交
2060
**示例:**
C
chyyy0213 已提交
2061

G
ge-yafang 已提交
2062
  ```js
C
chyyy0213 已提交
2063 2064 2065 2066 2067 2068 2069 2070 2071 2072 2073 2074 2075 2076 2077 2078 2079 2080 2081
  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;

设置窗口是否为隐私模式,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
2084
**参数:**
C
chyyy0213 已提交
2085 2086 2087 2088 2089

  | 参数名        | 类型    | 必填 | 说明                 |
  | ------------- | ------- | ---- | -------------------- |
  | isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。 |

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

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

G
ge-yafang 已提交
2096
**示例:**
C
chyyy0213 已提交
2097

G
ge-yafang 已提交
2098
  ```js
C
chyyy0213 已提交
2099 2100 2101 2102 2103 2104 2105 2106 2107 2108 2109 2110 2111 2112 2113 2114 2115
  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

设置窗口是否为可触状态,使用callback方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
2118
**参数:**
C
chyyy0213 已提交
2119 2120 2121 2122 2123 2124

  | 参数名      | 类型                      | 必填 | 说明                 |
  | ----------- | ------------------------- | ---- | -------------------- |
  | isTouchable | boolean                   | 是   | 窗口是否为可触状态。 |
  | callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |

G
ge-yafang 已提交
2125
**示例:**
C
chyyy0213 已提交
2126

G
ge-yafang 已提交
2127
  ```js
C
chyyy0213 已提交
2128 2129 2130 2131 2132 2133 2134 2135 2136 2137 2138 2139 2140 2141 2142 2143 2144 2145 2146
  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;

设置窗口是否为可触状态,使用Promise方式作为异步方法。

本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。

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

G
ge-yafang 已提交
2149
**参数:**
C
chyyy0213 已提交
2150 2151 2152 2153 2154

  | 参数名      | 类型    | 必填 | 说明                 |
  | ----------- | ------- | ---- | -------------------- |
  | isTouchable | boolean | 是   | 窗口是否为可触状态。 |

G
ge-yafang 已提交
2155
**返回值:**
C
chyyy0213 已提交
2156 2157 2158 2159 2160

  | 类型                | 说明                                            |
  | ------------------- | ----------------------------------------------- |
  | Promise&lt;void&gt; | 以Promise形式返回结果,返回当前函数执行的结果。 |

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

G
ge-yafang 已提交
2163
  ```js
C
chyyy0213 已提交
2164 2165 2166 2167 2168 2169 2170 2171 2172
  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 已提交
2173
## WindowStageEventType<sup>9+</sup>
L
leafly2021 已提交
2174 2175 2176

WindowStage生命周期。

G
ge-yafang 已提交
2177
**系统能力:** 以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core
L
leafly2021 已提交
2178 2179 2180 2181 2182 2183 2184 2185 2186 2187 2188 2189 2190 2191 2192 2193 2194 2195

| 名称       | 默认值 | 说明     |
| ---------- | ------ | -------- |
| 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;

获取该WindowStage实例下的主窗口,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
2198
**返回值:**
L
leafly2021 已提交
2199 2200 2201 2202 2203

  | 类型                             | 说明                                                       |
  | -------------------------------- | ---------------------------------------------------------- |
  | Promise&lt;[Window](#window)&gt; | 以Promise形式返回结果,返回当前WindowStage下的主窗口对象。 |

G
ge-yafang 已提交
2204
**示例:**
L
leafly2021 已提交
2205

G
ge-yafang 已提交
2206
  ```ts
L
leafly2021 已提交
2207 2208 2209 2210 2211 2212 2213 2214 2215 2216 2217 2218 2219 2220 2221 2222 2223 2224 2225 2226 2227
  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

获取该WindowStage实例下的主窗口,使用callback方式作为异步方法。

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

G
ge-yafang 已提交
2230
**参数:**
L
leafly2021 已提交
2231 2232 2233 2234 2235

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

G
ge-yafang 已提交
2236
**示例:**
L
leafly2021 已提交
2237

G
ge-yafang 已提交
2238
  ```ts
L
leafly2021 已提交
2239 2240 2241 2242 2243 2244 2245 2246 2247 2248 2249 2250 2251 2252 2253 2254 2255 2256 2257 2258 2259 2260
  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;

创建该WindowStage实例下的子窗口,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
2263
**参数:**
L
leafly2021 已提交
2264 2265 2266 2267

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

G
ge-yafang 已提交
2269
**返回值:**
L
leafly2021 已提交
2270 2271 2272 2273

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

G
ge-yafang 已提交
2275
**示例:**
L
leafly2021 已提交
2276

G
ge-yafang 已提交
2277
  ```ts
L
leafly2021 已提交
2278 2279 2280 2281 2282 2283 2284 2285 2286 2287 2288 2289 2290 2291 2292 2293 2294 2295 2296 2297 2298
  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

创建该WindowStage实例下的子窗口,使用callback方式作为异步方法。

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

G
ge-yafang 已提交
2301
**参数:**
L
leafly2021 已提交
2302 2303 2304 2305 2306 2307

  | 参数名   | 类型                                   | 必填 | 说明                           |
  | -------- | -------------------------------------- | ---- | ------------------------------ |
  | name     | String                                 | 是   | 子窗口的名字。                 |
  | callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调返回当前创建的子窗口对象。 |

G
ge-yafang 已提交
2308
**示例:**
L
leafly2021 已提交
2309

G
ge-yafang 已提交
2310
  ```ts
L
leafly2021 已提交
2311 2312 2313 2314 2315 2316 2317 2318 2319 2320 2321 2322 2323 2324 2325 2326 2327 2328 2329 2330 2331 2332 2333
  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;

获取该WindowStage实例下的所有子窗口,使用Promise方式作为异步方法。

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

G
ge-yafang 已提交
2336
**返回值:**
L
leafly2021 已提交
2337 2338 2339 2340 2341

  | 类型                                          | 说明                                                         |
  | --------------------------------------------- | ------------------------------------------------------------ |
  | Promise&lt;Array&lt;[Window](#window)&gt;&gt; | 以Promise形式返回结果,返回当前WindowStage下的所有子窗口对象。 |

G
ge-yafang 已提交
2342
**示例:**
L
leafly2021 已提交
2343

G
ge-yafang 已提交
2344
  ```ts
L
leafly2021 已提交
2345 2346 2347 2348 2349 2350 2351 2352 2353 2354 2355 2356 2357 2358 2359 2360 2361 2362 2363 2364 2365
  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

获取该WindowStage实例下的所有子窗口,使用callback方式作为异步方法。

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

G
ge-yafang 已提交
2368
**参数:**
L
leafly2021 已提交
2369 2370 2371 2372 2373

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

G
ge-yafang 已提交
2374
**示例:**
L
leafly2021 已提交
2375

G
ge-yafang 已提交
2376
  ```ts
L
leafly2021 已提交
2377 2378 2379 2380 2381 2382 2383 2384 2385 2386 2387 2388 2389 2390 2391 2392 2393 2394 2395 2396 2397 2398
  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

为当前WindowStage的主窗口加载具体页面内容,使用callback方式作为异步方法。

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

G
ge-yafang 已提交
2401
**参数:**
L
leafly2021 已提交
2402 2403 2404 2405 2406

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

G
ge-yafang 已提交
2408
**示例:**
L
leafly2021 已提交
2409

G
ge-yafang 已提交
2410
  ```ts
L
leafly2021 已提交
2411 2412 2413 2414 2415 2416 2417 2418 2419 2420 2421 2422 2423
  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 已提交
2424

L
leafly2021 已提交
2425 2426 2427 2428 2429 2430
### on('windowStageEvent')<sup>9+</sup>

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

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

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

G
ge-yafang 已提交
2433
**参数:**
L
leafly2021 已提交
2434 2435 2436

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

G
ge-yafang 已提交
2440
**示例:**
L
leafly2021 已提交
2441

G
ge-yafang 已提交
2442
  ```ts
L
leafly2021 已提交
2443 2444 2445 2446 2447 2448 2449 2450 2451 2452 2453 2454 2455 2456 2457 2458 2459
  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 已提交
2460
**系统能力:** SystemCapability.WindowManager.WindowManager.Core
G
ge-yafang 已提交
2461

G
ge-yafang 已提交
2462
**参数:**
L
leafly2021 已提交
2463 2464 2465

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

G
ge-yafang 已提交
2469
**示例:**
L
leafly2021 已提交
2470

G
ge-yafang 已提交
2471
  ```ts
L
leafly2021 已提交
2472 2473 2474 2475 2476 2477 2478 2479
  class myAbility extends Ability {
      onWindowStageCreate(windowStage) {
          console.log('onWindowStageCreate');
          var type = 'windowStageEvent';
          windowStage.off(type);
      }
  }
  ```