• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# @ohos.window (窗口)
2
3窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置,以及对各窗口间的管理调度。
4
5该模块提供以下窗口相关的常用功能:
6
7- [Window](#window):当前窗口实例,窗口管理器管理的基本单元。
8- [WindowStage](#windowstage9):窗口管理器。管理各个基本窗口单元。
9
10> **说明:**
11>
12> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
13
14## 导入模块
15
16```js
17import window from '@ohos.window';
18```
19
20## WindowType<sup>7+</sup>
21
22窗口类型枚举。
23
24**系统能力:** SystemCapability.WindowManager.WindowManager.Core
25
26| 名称              | 值 | 说明               |
27| ----------------- | ------ | ------------------ |
28| TYPE_APP          | 0      | 表示应用子窗口。<br>**模型约束:** 此接口仅可在FA模型下使用。 |
29| TYPE_SYSTEM_ALERT | 1      | 表示系统告警窗口。 |
30| TYPE_INPUT_METHOD<sup>9+</sup> | 2      | 表示输入法窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
31| TYPE_STATUS_BAR<sup>9+</sup>   | 3      | 表示状态栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
32| TYPE_PANEL<sup>9+</sup>        | 4      | 表示通知栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
33| TYPE_KEYGUARD<sup>9+</sup>     | 5      | 表示锁屏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
34| TYPE_VOLUME_OVERLAY<sup>9+</sup> | 6      | 表示音量条。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
35| TYPE_NAVIGATION_BAR<sup>9+</sup> | 7      | 表示导航栏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
36| TYPE_FLOAT<sup>9+</sup> | 8      | 表示悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**需要权限:** ohos.permission.SYSTEM_FLOAT_WINDOW |
37| TYPE_WALLPAPER<sup>9+</sup> | 9      | 表示壁纸。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
38| TYPE_DESKTOP<sup>9+</sup> | 10      | 表示桌面。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
39| TYPE_LAUNCHER_RECENT<sup>9+</sup> | 11      | 表示多任务中心。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
40| TYPE_LAUNCHER_DOCK<sup>9+</sup> | 12      | 表示桌面Dock栏。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
41| TYPE_VOICE_INTERACTION<sup>9+</sup> | 13      | 表示智慧语音。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
42| TYPE_POINTER<sup>9+</sup> | 14      | 表示鼠标。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
43| TYPE_FLOAT_CAMERA<sup>9+</sup> | 15      | 表示相机类型悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
44| TYPE_DIALOG<sup>9+</sup>  | 16      | 表示模态窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
45| TYPE_SCREENSHOT<sup>9+</sup>  | 17      | 表示截屏窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。<br>**系统接口:** 此接口为系统接口。 |
46
47## Configuration<sup>9+</sup>
48
49创建子窗口或系统窗口时的参数。
50
51**系统能力:** SystemCapability.WindowManager.WindowManager.Core
52
53| 名称 | 类型 | 必填 | 说明 |
54| ---------- | -------------------------- | -- | ----------------------------------- |
55| name       | string                     | 是 | 窗口名字。                         |
56| windowType | [WindowType](#windowtype7) | 是 | 窗口类型。                         |
57| ctx        | [BaseContext](js-apis-inner-application-baseContext.md) | 否 | 当前应用上下文信息。不设置,则默认为空。<br>FA模型下不需要使用该参数,即可创建子窗口。<br>Stage模型下需要使用该参数,用于创建系统窗口。 |
58| displayId  | number                     | 否 | 当前物理屏幕id。不设置,则默认为-1。 |
59| parentId   | number                     | 否 | 父窗口id。不设置,则默认为-1。      |
60
61## AvoidAreaType<sup>7+</sup>
62
63窗口内容需要规避区域的类型枚举。
64
65**系统能力:** SystemCapability.WindowManager.WindowManager.Core
66
67| 名称                             | 值   | 说明                                                         |
68| -------------------------------- | ---- | ------------------------------------------------------------ |
69| TYPE_SYSTEM                      | 0    | 表示系统默认区域。一般包括状态栏、导航栏,各设备系统定义可能不同。 |
70| TYPE_CUTOUT                      | 1    | 表示刘海屏区域。                                             |
71| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2    | 表示手势区域。                                               |
72| TYPE_KEYBOARD<sup>9+</sup>       | 3    | 表示软键盘区域。                                             |
73
74## WindowMode<sup>7+</sup>
75
76窗口模式枚举。
77
78**系统接口:** 此接口为系统接口。
79
80**系统能力:** SystemCapability.WindowManager.WindowManager.Core
81
82| 名称       | 值   | 说明                          |
83| ---------- | ---- | ----------------------------- |
84| UNDEFINED  | 1    | 表示APP未定义窗口模式。       |
85| FULLSCREEN | 2    | 表示APP全屏模式。             |
86| PRIMARY    | 3    | 表示APP分屏多窗口主要模式。   |
87| SECONDARY  | 4    | 表示APP分屏多窗口次要模式。   |
88| FLOATING   | 5    | 表示APP自由悬浮形式窗口模式。 |
89
90## WindowLayoutMode<sup>9+</sup>
91
92窗口布局模式枚举。
93
94**系统接口:** 此接口为系统接口。
95
96**系统能力:** SystemCapability.WindowManager.WindowManager.Core
97
98| 名称       | 值   | 说明                          |
99| ---------- | ---- | ----------------------------- |
100| WINDOW_LAYOUT_MODE_CASCADE  | 0    | 表示使用层叠布局模式。       |
101| WINDOW_LAYOUT_MODE_TILE | 1    | 表示使用平铺布局模式。             |
102
103## SystemBarProperties
104
105状态栏、导航栏的属性。
106
107**系统能力:** SystemCapability.WindowManager.WindowManager.Core
108
109| 名称                                   | 类型 |  必填 | 说明                                                         |
110| -------------------------------------- | -------- | ---- | ------------------------------------------------------------ |
111| statusBarColor                         | string   |  否   | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。默认值:`#0x66000000`。 |
112| isStatusBarLightIcon<sup>7+</sup>      | boolean  |  否   | 状态栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
113| statusBarContentColor<sup>8+</sup>     | string   |  否   | 状态栏文字颜色。当设置此属性后, `isStatusBarLightIcon`属性设置无效。默认值:`0xE5FFFFFF。` |
114| navigationBarColor                     | string   |  否   | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。默认值:`#0x66000000。` |
115| isNavigationBarLightIcon<sup>7+</sup>  | boolean  |  否   | 导航栏图标是否为高亮状态。true表示高亮;false表示不高亮。默认值:false。 |
116| navigationBarContentColor<sup>8+</sup> | string   |  否   | 导航栏文字颜色。当设置此属性后, `isNavigationBarLightIcon`属性设置无效。默认值:`#0xE5FFFFFF。` |
117
118## Orientation<sup>9+</sup>
119
120窗口显示方向类型枚举。
121
122**系统能力:** SystemCapability.WindowManager.WindowManager.Core
123
124| 名称                                  | 值   | 说明                          |
125| ------------------------------------- | ---- | ----------------------------- |
126| UNSPECIFIED                           | 0    | 表示未定义方向模式,由系统判定。 |
127| PORTRAIT                              | 1    | 表示竖屏显示模式。             |
128| LANDSCAPE                             | 2    | 表示横屏显示模式。   |
129| PORTRAIT_INVERTED                     | 3    | 表示反向竖屏显示模式。   |
130| LANDSCAPE_INVERTED                    | 4    | 表示反向横屏显示模式。 |
131| AUTO_ROTATION                         | 5    | 表示传感器自动旋转模式。 |
132| AUTO_ROTATION_PORTRAIT                | 6    | 表示传感器自动竖向旋转模式。 |
133| AUTO_ROTATION_LANDSCAPE               | 7    | 表示传感器自动横向旋转模式。 |
134| AUTO_ROTATION_RESTRICTED              | 8    | 表示受开关控制的自动旋转模式。 |
135| AUTO_ROTATION_PORTRAIT_RESTRICTED     | 9    | 表示受开关控制的自动竖向旋转模式。 |
136| AUTO_ROTATION_LANDSCAPE_RESTRICTED    | 10   | 表述受开关控制的自动横向旋转模式。 |
137| LOCKED                                | 11   | 表示锁定模式。 |
138
139## BlurStyle<sup>9+</sup>
140
141窗口模糊类型枚举。
142
143**系统接口:** 此接口为系统接口。
144
145**系统能力:** SystemCapability.WindowManager.WindowManager.Core
146
147| 名称    | 值   | 说明                 |
148| ------- | ---- | -------------------- |
149| OFF     | 0    | 表示关闭模糊。       |
150| THIN    | 1    | 表示较薄的模糊类型。 |
151| REGULAR | 2    | 表示适中的模糊类型。 |
152| THICK   | 3    | 表示较厚的模糊类型。 |
153
154## SystemBarRegionTint<sup>8+</sup>
155
156单个导航栏或状态栏回调信息。
157
158**系统接口:** 此接口为系统接口。
159
160**系统能力:** SystemCapability.WindowManager.WindowManager.Core
161
162| 名称            | 类型                  | 可读 | 可写 | 说明                                                         |
163| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
164| type            | [WindowType](#windowtype7) | 是   | 否   | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
165| isEnable        | boolean                   | 是   | 否   | 当前系统栏是否显示。true表示显示;false表示不显示。 |
166| region          | [Rect](#rect7)             | 是   | 否   | 当前系统栏的位置及大小。                                     |
167| backgroundColor | string                    | 是   | 否   | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
168| contentColor    | string                    | 是   | 否   | 系统栏文字颜色。                                             |
169
170## SystemBarTintState<sup>8+</sup>
171
172当前系统栏回调信息集合。
173
174**系统接口:** 此接口为系统接口。
175
176**系统能力:** SystemCapability.WindowManager.WindowManager.Core
177
178| 名称       | 类型                                            | 可读 | 可写 | 说明                         |
179| ---------- | --------------------------------------------------- | ---- | ---- | ---------------------------- |
180| displayId  | number                                              | 是   | 否   | 当前物理屏幕id。             |
181| regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | 是   | 否   | 当前已改变的所有系统栏信息。 |
182
183## Rect<sup>7+</sup>
184
185窗口矩形区域。
186
187**系统能力:** SystemCapability.WindowManager.WindowManager.Core
188
189| 名称   | 类型 | 可读 | 可写 | 说明               |
190| ------ | -------- | ---- | ---- | ------------------ |
191| left   | number   | 是   | 是   | 矩形区域的左边界,单位为px。 |
192| top    | number   | 是   | 是   | 矩形区域的上边界,单位为px。 |
193| width  | number   | 是   | 是   | 矩形区域的宽度,单位为px。 |
194| height | number   | 是   | 是   | 矩形区域的高度,单位为px。 |
195
196## AvoidArea<sup>7+</sup>
197
198窗口内容规避区域。
199
200**系统能力:** SystemCapability.WindowManager.WindowManager.Core
201
202| 名称       | 类型      | 可读 | 可写 | 说明               |
203| ---------- | ------------- | ---- | ---- | ------------------ |
204| visible<sup>9+</sup>    | boolean       | 是   | 是   | 规避区域是否可见。true表示可见;false表示不可见。 |
205| leftRect   | [Rect](#rect7) | 是   | 是   | 屏幕左侧的矩形区。 |
206| topRect    | [Rect](#rect7) | 是   | 是   | 屏幕顶部的矩形区。 |
207| rightRect  | [Rect](#rect7) | 是   | 是   | 屏幕右侧的矩形区。 |
208| bottomRect | [Rect](#rect7) | 是   | 是   | 屏幕底部的矩形区。 |
209
210## Size<sup>7+</sup>
211
212窗口大小。
213
214**系统能力:** SystemCapability.WindowManager.WindowManager.Core
215
216| 名称   | 类型 | 可读 | 可写 | 说明       |
217| ------ | -------- | ---- | ---- | ---------- |
218| width  | number   | 是   | 是   | 窗口宽度,单位为px。 |
219| height | number   | 是   | 是   | 窗口高度,单位为px。 |
220
221## WindowProperties
222
223窗口属性。
224
225**系统能力:** SystemCapability.WindowManager.WindowManager.Core
226
227| 名称                                  | 类型                  | 可读 | 可写 | 说明                                                         |
228| ------------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
229| windowRect<sup>7+</sup>               | [Rect](#rect7)             | 是   | 是   | 窗口尺寸。                                                   |
230| type<sup>7+</sup>                     | [WindowType](#windowtype7) | 是   | 是   | 窗口类型。                                                   |
231| isFullScreen                          | boolean                   | 是   | 是   | 是否全屏,默认为false。true表示全屏;false表示非全屏。 |
232| isLayoutFullScreen<sup>7+</sup>       | boolean                   | 是   | 是   | 窗口是否为沉浸式,默认为false。true表示沉浸式;false表示非沉浸式。 |
233| focusable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可聚焦,默认为true。true表示可聚焦;false表示不可聚焦。 |
234| touchable<sup>7+</sup>                | boolean                   | 是   | 否   | 窗口是否可触摸,默认为true。true表示可触摸;false表示不可触摸。 |
235| brightness                            | number                    | 是   | 是   | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。如果窗口没有设置亮度值,表示亮度跟随系统,此时获取到的值为-1; |
236| dimBehindValue<sup>(deprecated)</sup> | number                    | 是   | 是   | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。<br>- **说明:** 从API version 9开始废弃。<br>- 从 API version 7开始支持。 |
237| isKeepScreenOn                        | boolean                   | 是   | 是   | 屏幕是否常亮,默认为false。true表示常亮;false表示不常亮。 |
238| isPrivacyMode<sup>7+</sup>            | boolean                   | 是   | 是   | 隐私模式,默认为false。true表示模式开启;false表示模式关闭。 |
239| isRoundCorner<sup>(deprecated)</sup>  | boolean                   | 是   | 是   | 窗口是否为圆角。默认为false。true表示圆角;false表示非圆角。<br>- **说明:** 从API version 9开始废弃。<br/>- 从 API version 7开始支持。 |
240| isTransparent<sup>7+</sup>            | boolean                   | 是   | 是   | 窗口是否透明。默认为false。true表示透明;false表示不透明。 |
241| id<sup>9+</sup>                       | number                    | 是   | 否   | 窗口ID,默认值为0.0。                                                  |
242
243## ColorSpace<sup>8+</sup>
244
245色域模式。
246
247**系统能力:** SystemCapability.WindowManager.WindowManager.Core
248
249| 名称       | 值 | 说明           |
250| ---------- | ------ | -------------- |
251| DEFAULT    | 0      | 默认SRGB色域模式。 |
252| WIDE_GAMUT | 1      | 广色域模式。   |
253
254## ScaleOptions<sup>9+</sup>
255
256缩放参数。
257
258**系统接口:** 此接口为系统接口。
259
260**系统能力**:SystemCapability.WindowManager.WindowManager.Core
261
262| 名称   | 类型 | 可读 | 可写 | 说明                                               |
263| ------ | -------- | ---- | ---- | -------------------------------------------------- |
264| x      | number   | 否   | 是   | X轴的缩放参数,默认值为1.0。                       |
265| y      | number   | 否   | 是   | Y轴的缩放参数,默认值为1.0。                       |
266| pivotX | number   | 否   | 是   | 缩放中心点X轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
267| pivotY | number   | 否   | 是   | 缩放中心点Y轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
268
269## RotateOptions<sup>9+</sup>
270
271旋转参数。
272
273**系统接口:** 此接口为系统接口。
274
275**系统能力**:SystemCapability.WindowManager.WindowManager.Core
276
277| 名称   | 类型 | 可读 | 可写 | 说明                                               |
278| ------ | -------- | ---- | ---- | -------------------------------------------------- |
279| x      | number   | 否   | 是   | 绕X轴的旋转角度,默认值为0.0。                     |
280| y      | number   | 否   | 是   | 绕Y轴的旋转角度,默认值为0.0。                     |
281| z      | number   | 否   | 是   | 绕Z轴的旋转角度,默认值为0.0。                     |
282| pivotX | number   | 否   | 是   | 旋转中心点X轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
283| pivotY | number   | 否   | 是   | 旋转中心点Y轴坐标,默认值为0.5, 取值范围0.0~1.0。 |
284
285## TranslateOptions<sup>9+</sup>
286
287平移参数。
288
289**系统接口:** 此接口为系统接口。
290
291**系统能力**:SystemCapability.WindowManager.WindowManager.Core
292
293| 名称 | 类型 | 可读 | 可写 | 说明                         |
294| ---- | -------- | ---- | ---- | ---------------------------- |
295| x    | number   | 否   | 是   | X轴的平移参数,默认值为0.0。 |
296| y    | number   | 否   | 是   | Y轴的平移参数,默认值为0.0。 |
297| z    | number   | 否   | 是   | Z轴的平移参数,默认值为0.0。 |
298
299## window.createWindow<sup>9+</sup>
300
301createWindow(config: Configuration, callback: AsyncCallback&lt;Window&gt;): void
302
303创建子窗口或者系统窗口,使用callback异步回调。
304
305**系统能力:** SystemCapability.WindowManager.WindowManager.Core
306
307**参数:**
308
309| 参数名 | 类型 | 必填 | 说明 |
310| -------- | -------------------------------------- | -- | --------------------------------- |
311| config   | [Configuration](#configuration9)       | 是 | 创建窗口时的参数。   |
312| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前创建的窗口对象。 |
313
314**错误码:**
315
316以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
317
318| 错误码ID | 错误信息 |
319| ------- | -------------------------------- |
320| 1300001 | Repeated operation. |
321| 1300006 | This window context is abnormal. |
322
323**示例:**
324
325```js
326let windowClass = null;
327let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
328try {
329    window.createWindow(config, (err, data) => {
330        if (err.code) {
331            console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
332            return;
333        }
334        windowClass = data;
335        console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
336        windowClass.resetSize(500, 1000);
337    });
338} catch (exception) {
339    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
340}
341```
342
343## window.createWindow<sup>9+</sup>
344
345createWindow(config: Configuration): Promise&lt;Window&gt;
346
347创建子窗口或者系统窗口,使用Promise异步回调。
348
349**系统能力:** SystemCapability.WindowManager.WindowManager.Core
350
351**参数:**
352
353| 参数名 | 类型 | 必填 | 说明 |
354| ------ | -------------------------------- | -- | ------------------ |
355| config | [Configuration](#configuration9) | 是 | 创建窗口时的参数。 |
356
357**返回值:**
358
359| 类型 | 说明 |
360| -------------------------------- | ------------------------------------ |
361| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的窗口对象。 |
362
363**错误码:**
364
365以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
366
367| 错误码ID | 错误信息 |
368| ------- | -------------------------------- |
369| 1300001 | Repeated operation. |
370| 1300006 | This window context is abnormal. |
371
372**示例:**
373
374```js
375let windowClass = null;
376let config = {name: "alertWindow", windowType: window.WindowType.TYPE_SYSTEM_ALERT, ctx: this.context};
377try {
378    let promise = window.createWindow(config);
379    promise.then((data)=> {
380        windowClass = data;
381        console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
382    }).catch((err)=>{
383        console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
384    });
385} catch (exception) {
386    console.error('Failed to create the window. Cause: ' + JSON.stringify(exception));
387}
388```
389
390## window.findWindow<sup>9+</sup>
391
392findWindow(name: string): Window
393
394查找name所对应的窗口。
395
396**系统能力:** SystemCapability.WindowManager.WindowManager.Core
397
398**参数:**
399
400| 参数名 | 类型   | 必填 | 说明     |
401| ------ | ------ | ---- | -------- |
402| name   | string | 是   | 窗口id。 |
403
404**返回值:**
405
406| 类型 | 说明 |
407| ----------------- | ------------------- |
408| [Window](#window) | 当前查找的窗口对象。 |
409
410**示例:**
411
412```js
413let windowClass = null;
414try {
415    windowClass = window.findWindow('alertWindow');
416} catch (exception) {
417    console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception));
418}
419```
420
421## window.getLastWindow<sup>9+</sup>
422
423getLastWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
424
425获取当前应用内最后显示的窗口,使用callback异步回调。
426
427**系统能力:** SystemCapability.WindowManager.WindowManager.Core
428
429**参数:**
430
431| 参数名 | 类型 | 必填 | 说明 |
432| -------- | -------------------------------------- | -- | ---------------------------------------- |
433| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是 | 当前应用上下文信息。 |
434| callback | AsyncCallback&lt;[Window](#window)&gt; | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 |
435
436**错误码:**
437
438以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
439
440| 错误码ID | 错误信息 |
441| ------- | -------------------------------- |
442| 1300002 | This window state is abnormal.   |
443| 1300006 | This window context is abnormal. |
444
445**示例:**
446
447```js
448let windowClass = null;
449try {
450    window.getLastWindow(this.context, (err, data) => {
451        if (err.code) {
452            console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
453            return;
454        }
455        windowClass = data;
456        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
457    });
458} catch (exception) {
459    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
460}
461```
462
463## window.getLastWindow<sup>9+</sup>
464
465getLastWindow(ctx: BaseContext): Promise&lt;Window&gt;
466
467获取当前应用内最后显示的窗口,使用Promise异步回调。
468
469**系统能力:** SystemCapability.WindowManager.WindowManager.Core
470
471**参数:**
472
473| 参数名 | 类型 | 必填 | 说明 |
474| ------ | ----------- | ---- | ------------------------------------------------------------ |
475| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
476
477**返回值:**
478
479| 类型 | 说明 |
480| -------------------------------- | ------------------------------------------- |
481| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
482
483**错误码:**
484
485以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
486
487| 错误码ID | 错误信息 |
488| ------- | -------------------------------- |
489| 1300002 | This window state is abnormal.   |
490| 1300006 | This window context is abnormal. |
491
492**示例:**
493
494```js
495let windowClass = null;
496try {
497    let promise = window.getLastWindow(this.context);
498    promise.then((data)=> {
499        windowClass = data;
500        console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
501    }).catch((err)=>{
502        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
503    });
504} catch (exception) {
505    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception));
506}
507```
508
509## window.minimizeAll<sup>9+</sup>
510minimizeAll(id: number, callback: AsyncCallback&lt;void&gt;): void
511
512最小化某显示设备下的所有窗口。
513
514**系统接口:** 此接口为系统接口。
515
516**系统能力:** SystemCapability.WindowManager.WindowManager.Core
517
518**参数:**
519
520| 参数名   | 类型                      | 必填 | 说明           |
521| -------- | ------------------------- | ---- | -------------- |
522| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号。 |
523| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
524
525**错误码:**
526
527以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
528
529| 错误码ID | 错误信息 |
530| ------- | -------------------------------------------- |
531| 1300003 | This window manager service works abnormally. |
532
533**示例:**
534
535```js
536import display from '@ohos.display'
537
538let displayClass = null;
539try {
540    displayClass = display.getDefaultDisplaySync();
541
542    try {
543        window.minimizeAll(displayClass.id, (err) => {
544            if(err.code) {
545                console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
546                return;
547            }
548            console.info('Succeeded in minimizing all windows.');
549        });
550    } catch (exception) {
551        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
552    }
553} catch (exception) {
554    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
555}
556```
557
558## window.minimizeAll<sup>9+</sup>
559minimizeAll(id: number): Promise&lt;void&gt;
560
561最小化某显示设备下的所有窗口。
562
563**系统接口:** 此接口为系统接口。
564
565**系统能力:** SystemCapability.WindowManager.WindowManager.Core
566
567**参数:**
568
569| 参数名   | 类型                      | 必填 | 说明           |
570| -------- | ------------------------- | ---- | -------------- |
571| id       | number                    | 是   | 显示设备[Display](js-apis-display.md#display)的ID号。 |
572
573**返回值:**
574
575| 类型                | 说明                      |
576| ------------------- | ------------------------- |
577| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
578
579**错误码:**
580
581以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
582
583| 错误码ID | 错误信息 |
584| ------- | -------------------------------------------- |
585| 1300003 | This window manager service works abnormally. |
586
587**示例:**
588
589```js
590import display from '@ohos.display'
591
592let displayClass = null;
593try {
594    displayClass = display.getDefaultDisplaySync();
595
596    try {
597        let promise = window.minimizeAll(displayClass.id);
598        promise.then(()=> {
599            console.info('Succeeded in minimizing all windows.');
600        }).catch((err)=>{
601            console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err));
602        });
603    } catch (exception) {
604        console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception));
605    }
606} catch (exception) {
607    console.error('Failed to obtain the default display object. Code: ' + JSON.stringify(exception));
608}
609```
610
611## window.toggleShownStateForAllAppWindows<sup>9+</sup>
612toggleShownStateForAllAppWindows(callback: AsyncCallback&lt;void&gt;): void
613
614多窗口快速切换时隐藏或者恢复应用窗口。
615
616**系统接口:** 此接口为系统接口。
617
618**系统能力:** SystemCapability.WindowManager.WindowManager.Core
619
620**参数:**
621
622| 参数名   | 类型                      | 必填 | 说明           |
623| -------- | ------------------------- | ---- | -------------- |
624| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
625
626**错误码:**
627
628以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
629
630| 错误码ID | 错误信息 |
631| ------- | -------------------------------------------- |
632| 1300003 | This window manager service works abnormally. |
633
634**示例:**
635
636```js
637window.toggleShownStateForAllAppWindows((err) => {
638    if (err.code) {
639        console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
640        return;
641    }
642    console.info('Succeeded in toggling shown state for all app windows.');
643});
644```
645
646## window.toggleShownStateForAllAppWindows<sup>9+</sup>
647toggleShownStateForAllAppWindows(): Promise&lt;void&gt;
648
649多窗口快速切换时隐藏或者恢复应用窗口。
650
651**系统接口:** 此接口为系统接口。
652
653**系统能力:** SystemCapability.WindowManager.WindowManager.Core
654
655**返回值:**
656
657| 类型                | 说明                      |
658| ------------------- | ------------------------- |
659| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
660
661**错误码:**
662
663以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
664
665| 错误码ID | 错误信息 |
666| ------- | -------------------------------------------- |
667| 1300003 | This window manager service works abnormally. |
668
669**示例:**
670
671```js
672let promise = window.toggleShownStateForAllAppWindows();
673promise.then(()=> {
674    console.info('Succeeded in toggling shown state for all app windows.');
675}).catch((err)=>{
676    console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
677});
678```
679
680## window.setWindowLayoutMode<sup>9+</sup>
681setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback&lt;void&gt;): void
682
683设置窗口布局模式。
684
685**系统接口:** 此接口为系统接口。
686
687**系统能力:** SystemCapability.WindowManager.WindowManager.Core
688
689**参数:**
690
691| 参数名   | 类型                      | 必填 | 说明           |
692| -------- | ------------------------- | ---- | -------------- |
693| mode       | [WindowLayoutMode](#windowlayoutmode9)                  | 是   | 设置的窗口布局模式。 |
694| callback | AsyncCallback&lt;void&gt; | 是   | 回调信息。     |
695
696**错误码:**
697
698以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
699
700| 错误码ID | 错误信息 |
701| ------- | -------------------------------------------- |
702| 1300003 | This window manager service works abnormally. |
703
704**示例:**
705
706```js
707try {
708    window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (err) => {
709        if(err.code) {
710            console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
711            return;
712        }
713        console.info('Succeeded in setting window layout mode.');
714    });
715} catch (exception) {
716    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
717}
718```
719
720## window.setWindowLayoutMode<sup>9+</sup>
721setWindowLayoutMode(mode: WindowLayoutMode): Promise&lt;void&gt;
722
723设置窗口布局模式。
724
725**系统接口:** 此接口为系统接口。
726
727**系统能力:** SystemCapability.WindowManager.WindowManager.Core
728
729**参数:**
730
731| 参数名   | 类型                      | 必填 | 说明           |
732| -------- | ------------------------- | ---- | -------------- |
733| mode       | [WindowLayoutMode](#windowlayoutmode9)                    | 是   | 设置的窗口布局模式。 |
734
735**返回值:**
736
737| 类型                | 说明                      |
738| ------------------- | ------------------------- |
739| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
740
741**错误码:**
742
743以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
744
745| 错误码ID | 错误信息 |
746| ------- | -------------------------------------------- |
747| 1300003 | This window manager service works abnormally. |
748
749**示例:**
750
751```js
752try {
753    let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE);
754    promise.then(()=> {
755        console.info('Succeeded in setting window layout mode.');
756    }).catch((err)=>{
757        console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err));
758    });
759} catch (exception) {
760    console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception));
761}
762```
763
764## window.on('systemBarTintChange')<sup>8+</sup>
765
766on(type: 'systemBarTintChange', callback: Callback&lt;SystemBarTintState&gt;): void
767
768开启状态栏、导航栏属性变化的监听。
769
770**系统接口:** 此接口为系统接口。
771
772**系统能力:** SystemCapability.WindowManager.WindowManager.Core
773
774**参数:**
775
776| 参数名   | 类型                                                       | 必填 | 说明                                                         |
777| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
778| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
779| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 是   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
780
781**示例:**
782
783```js
784try {
785    window.on('systemBarTintChange', (data) => {
786        console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
787    });
788} catch (exception) {
789    console.error('Failed to enable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
790}
791```
792
793## window.off('systemBarTintChange')<sup>8+</sup>
794
795off(type: 'systemBarTintChange', callback?: Callback&lt;SystemBarTintState &gt;): void
796
797关闭状态栏、导航栏属性变化的监听。
798
799**系统接口:** 此接口为系统接口。
800
801**系统能力:** SystemCapability.WindowManager.WindowManager.Core
802
803**参数:**
804
805| 参数名   | 类型                                                       | 必填 | 说明                                                         |
806| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ |
807| type     | string                                                     | 是   | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 |
808| callback | Callback&lt;[SystemBarTintState](#systembartintstate8)&gt; | 否   | 回调函数。返回当前的状态栏、导航栏信息集合。                 |
809
810**示例:**
811
812```js
813try {
814    window.off('systemBarTintChange');
815} catch (exception) {
816    console.error('Failed to disable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception));
817}
818```
819
820## window.create<sup>(deprecated)</sup>
821
822create(id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
823
824创建子窗口,使用callback异步回调。
825
826> **说明:**
827>
828> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
829
830**模型约束:** 此接口仅可在FA模型下使用。
831
832**系统能力:** SystemCapability.WindowManager.WindowManager.Core
833
834**参数:**
835
836| 参数名   | 类型                                   | 必填 | 说明                                 |
837| -------- | -------------------------------------- | ---- | ------------------------------------ |
838| id       | string                                 | 是   | 窗口id。                             |
839| type     | [WindowType](#windowtype7)              | 是   | 窗口类型。                           |
840| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前创建的子窗口对象。 |
841
842**示例:**
843
844```js
845let windowClass = null;
846window.create('first', window.WindowType.TYPE_APP,(err,data) => {
847    if(err.code){
848        console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
849        return;
850    }
851    windowClass = data;
852    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
853});
854```
855
856## window.create<sup>(deprecated)</sup>
857
858create(id: string, type: WindowType): Promise&lt;Window&gt;
859
860创建子窗口,使用Promise异步回调。
861
862> **说明:**
863>
864> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
865
866**模型约束:** 此接口仅可在FA模型下使用。
867
868**系统能力:** SystemCapability.WindowManager.WindowManager.Core
869
870**参数:**
871
872| 参数名 | 类型                      | 必填 | 说明       |
873| ------ | ------------------------- | ---- | ---------- |
874| id     | string                    | 是   | 窗口id。   |
875| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
876
877**返回值:**
878
879| 类型                             | 说明                                    |
880| -------------------------------- | --------------------------------------- |
881| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
882
883**示例:**
884
885```js
886let windowClass = null;
887let promise = window.create('first', window.WindowType.TYPE_APP);
888promise.then((data)=> {
889    windowClass = data;
890    console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data));
891}).catch((err)=>{
892    console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
893});
894```
895
896## window.create<sup>(deprecated)</sup>
897
898create(ctx: BaseContext, id: string, type: WindowType, callback: AsyncCallback&lt;Window&gt;): void
899
900创建系统窗口,使用callback异步回调。
901
902> **说明:**
903>
904> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。
905
906**系统能力:** SystemCapability.WindowManager.WindowManager.Core
907
908**参数:**
909
910| 参数名   | 类型                                                    | 必填 | 说明                                 |
911| -------- | ------------------------------------------------------- | ---- | ------------------------------------ |
912| ctx      | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。                 |
913| id       | string                                                  | 是   | 窗口id。                             |
914| type     | [WindowType](#windowtype7)                              | 是   | 窗口类型。                           |
915| callback | AsyncCallback&lt;[Window](#window)&gt;                  | 是   | 回调函数。返回当前创建的子窗口对象。 |
916
917**示例:**
918
919```js
920let windowClass = null;
921window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
922    if (err.code) {
923        console.error('Failed to create the window. Cause: ' + JSON.stringify(err));
924        return;
925    }
926    windowClass = data;
927    console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data));
928    windowClass.resetSize(500, 1000);
929});
930```
931
932## window.create<sup>(deprecated)</sup>
933
934create(ctx: BaseContext, id: string, type: WindowType): Promise&lt;Window&gt;
935
936创建系统窗口,使用Promise异步回调。
937
938> **说明:**
939>
940> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。
941
942**系统能力:** SystemCapability.WindowManager.WindowManager.Core
943
944**参数:**
945
946| 参数名 | 类型                      | 必填 | 说明                                                         |
947| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
948| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
949| id     | string                    | 是   | 窗口id。                                                     |
950| type   | [WindowType](#windowtype7) | 是   | 窗口类型。                                                   |
951
952**返回值:**
953
954| 类型                             | 说明                                    |
955| -------------------------------- | --------------------------------------- |
956| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前创建的子窗口对象。 |
957
958**示例:**
959
960```js
961let windowClass = null;
962let promise = window.create(this.context, 'alertWindow', window.WindowType.TYPE_SYSTEM_ALERT);
963promise.then((data)=> {
964    windowClass = data;
965    console.info('Succeeded in creating the window. Data:' + JSON.stringify(data));
966}).catch((err)=>{
967    console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
968});
969```
970
971## window.find<sup>(deprecated)</sup>
972
973find(id: string, callback: AsyncCallback&lt;Window&gt;): void
974
975查找id所对应的窗口,使用callback异步回调。
976
977> **说明:**
978>
979> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
980
981**系统能力:** SystemCapability.WindowManager.WindowManager.Core
982
983**参数:**
984
985| 参数名   | 类型                                   | 必填 | 说明                                 |
986| -------- | -------------------------------------- | ---- | ------------------------------------ |
987| id       | string                                 | 是   | 窗口id。                             |
988| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前查找到的窗口对象。 |
989
990**示例:**
991
992```js
993let windowClass = null;
994window.find('alertWindow', (err, data) => {
995    if (err.code) {
996        console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
997        return;
998    }
999    windowClass = data;
1000    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
1001});
1002```
1003
1004## window.find<sup>(deprecated)</sup>
1005
1006find(id: string): Promise&lt;Window&gt;
1007
1008查找id所对应的窗口,使用Promise异步回调。
1009
1010> **说明:**
1011>
1012> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。
1013
1014**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1015
1016**参数:**
1017
1018| 参数名 | 类型   | 必填 | 说明     |
1019| ------ | ------ | ---- | -------- |
1020| id     | string | 是   | 窗口id。 |
1021
1022**返回值:**
1023
1024| 类型                             | 说明                                  |
1025| -------------------------------- | ------------------------------------- |
1026| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前查找的窗口对象。 |
1027
1028**示例:**
1029
1030```js
1031let windowClass = null;
1032let promise = window.find('alertWindow');
1033promise.then((data)=> {
1034    windowClass = data;
1035    console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data));
1036}).catch((err)=>{
1037    console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
1038});
1039```
1040
1041## window.getTopWindow<sup>(deprecated)</sup>
1042
1043getTopWindow(callback: AsyncCallback&lt;Window&gt;): void
1044
1045获取当前应用内最后显示的窗口,使用callback异步回调。
1046
1047> **说明:**
1048>
1049> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。
1050
1051**模型约束:** 此接口仅可在FA模型下使用。
1052
1053**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1054
1055**参数:**
1056
1057| 参数名   | 类型                                   | 必填 | 说明                                         |
1058| -------- | -------------------------------------- | ---- | -------------------------------------------- |
1059| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。 |
1060
1061**示例:**
1062
1063```js
1064let windowClass = null;
1065window.getTopWindow((err, data) => {
1066    if (err.code) {
1067        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1068        return;
1069    }
1070    windowClass = data;
1071    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1072});
1073```
1074
1075## window.getTopWindow<sup>(deprecated)</sup>
1076
1077getTopWindow(): Promise&lt;Window&gt;
1078
1079获取当前应用内最后显示的窗口,使用Promise异步回调。
1080
1081> **说明:**
1082>
1083> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。
1084
1085**模型约束:** 此接口仅可在FA模型下使用。
1086
1087**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1088
1089**返回值:**
1090
1091| 类型                             | 说明                                            |
1092| -------------------------------- | ----------------------------------------------- |
1093| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
1094
1095**示例:**
1096
1097```js
1098let windowClass = null;
1099let promise = window.getTopWindow();
1100promise.then((data)=> {
1101    windowClass = data;
1102    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1103}).catch((err)=>{
1104    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1105});
1106```
1107
1108## window.getTopWindow<sup>(deprecated)</sup>
1109
1110getTopWindow(ctx: BaseContext, callback: AsyncCallback&lt;Window&gt;): void
1111
1112获取当前应用内最后显示的窗口,使用callback异步回调。
1113
1114> **说明:**
1115>
1116> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。
1117
1118**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1119
1120**参数:**
1121
1122| 参数名   | 类型                                   | 必填 | 说明                                                         |
1123| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
1124| ctx      | [BaseContext](js-apis-inner-application-baseContext.md)                            | 是   | 当前应用上下文信息。 |
1125| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前应用内最后显示的窗口对象。                 |
1126
1127**示例:**
1128
1129```js
1130let windowClass = null;
1131window.getTopWindow(this.context, (err, data) => {
1132    if (err.code) {
1133        console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1134        return;
1135    }
1136    windowClass = data;
1137    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1138});
1139```
1140
1141## window.getTopWindow<sup>(deprecated)</sup>
1142
1143getTopWindow(ctx: BaseContext): Promise&lt;Window&gt;
1144
1145获取当前应用内最后显示的窗口,使用Promise异步回调。
1146
1147> **说明:**
1148>
1149> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。
1150
1151**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1152
1153**参数:**
1154
1155| 参数名 | 类型    | 必填 | 说明                                                         |
1156| ------ | ----------- | ---- | ------------------------------------------------------------ |
1157| ctx    | [BaseContext](js-apis-inner-application-baseContext.md) | 是   | 当前应用上下文信息。 |
1158
1159**返回值:**
1160
1161| 类型                             | 说明                                            |
1162| -------------------------------- | ----------------------------------------------- |
1163| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前应用内最后显示的窗口对象。 |
1164
1165**示例:**
1166
1167```js
1168let windowClass = null;
1169let promise = window.getTopWindow(this.context);
1170promise.then((data)=> {
1171 	windowClass = data;
1172    console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
1173}).catch((err)=>{
1174    console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
1175});
1176```
1177
1178## Window
1179
1180当前窗口实例,窗口管理器管理的基本单元。
1181
1182下列API示例中都需先使用[getLastWindow()](#windowgetlastwindow9)、[createWindow()](#windowcreatewindow9)、[findWindow()](#windowfindwindow9)中的任一方法获取到Window实例,再通过此实例调用对应方法。
1183
1184### hide<sup>7+</sup>
1185
1186hide (callback: AsyncCallback&lt;void&gt;): void
1187
1188隐藏当前窗口,使用callback异步回调。
1189
1190**系统接口:** 此接口为系统接口。
1191
1192**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1193
1194**参数:**
1195
1196| 参数名   | 类型                      | 必填 | 说明       |
1197| -------- | ------------------------- | ---- | ---------- |
1198| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1199
1200**错误码:**
1201
1202以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1203
1204| 错误码ID | 错误信息 |
1205| ------- | ------------------------------ |
1206| 1300002 | This window state is abnormal. |
1207
1208**示例:**
1209
1210```js
1211windowClass.hide((err) => {
1212    if (err.code) {
1213        console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
1214        return;
1215    }
1216    console.info('Succeeded in hiding the window.');
1217});
1218```
1219
1220### hide<sup>7+</sup>
1221
1222hide(): Promise&lt;void&gt;
1223
1224隐藏当前窗口,使用Promise异步回调。
1225
1226**系统接口:** 此接口为系统接口。
1227
1228**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1229
1230**返回值:**
1231
1232| 类型                | 说明                      |
1233| ------------------- | ------------------------- |
1234| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1235
1236**错误码:**
1237
1238以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1239
1240| 错误码ID | 错误信息 |
1241| ------- | ------------------------------ |
1242| 1300002 | This window state is abnormal. |
1243
1244**示例:**
1245
1246```js
1247let promise = windowClass.hide();
1248promise.then(()=> {
1249    console.info('Succeeded in hiding the window.');
1250}).catch((err)=>{
1251    console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
1252});
1253```
1254
1255### hideWithAnimation<sup>9+</sup>
1256
1257hideWithAnimation(callback: AsyncCallback&lt;void&gt;): void
1258
1259隐藏当前窗口,过程中播放动画,使用callback异步回调。
1260
1261**系统接口:** 此接口为系统接口。
1262
1263**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1264
1265**参数:**
1266
1267| 参数名   | 类型                      | 必填 | 说明       |
1268| -------- | ------------------------- | ---- | ---------- |
1269| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1270
1271**错误码:**
1272
1273以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1274
1275| 错误码ID | 错误信息 |
1276| ------- | -------------------------------------------- |
1277| 1300002 | This window state is abnormal.               |
1278| 1300003 | This window manager service works abnormally. |
1279| 1300004 | Unauthorized operation.                |
1280
1281**示例:**
1282
1283```js
1284windowClass.hideWithAnimation((err) => {
1285    if (err.code) {
1286        console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
1287        return;
1288    }
1289    console.info('Succeeded in hiding the window with animation.');
1290});
1291```
1292
1293### hideWithAnimation<sup>9+</sup>
1294
1295hideWithAnimation(): Promise&lt;void&gt;
1296
1297隐藏当前窗口,过程中播放动画,使用Promise异步回调。
1298
1299**系统接口:** 此接口为系统接口。
1300
1301**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1302
1303**返回值:**
1304
1305| 类型                | 说明                      |
1306| ------------------- | ------------------------- |
1307| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1308
1309**错误码:**
1310
1311以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1312
1313| 错误码ID | 错误信息 |
1314| ------- | -------------------------------------------- |
1315| 1300002 | This window state is abnormal.               |
1316| 1300003 | This window manager service works abnormally. |
1317| 1300004 | Unauthorized operation.                |
1318
1319**示例:**
1320
1321```js
1322let promise = windowClass.hideWithAnimation();
1323promise.then(()=> {
1324    console.info('Succeeded in hiding the window with animation.');
1325}).catch((err)=>{
1326    console.error('Failed to hide the window with animation. Cause: ' + JSON.stringify(err));
1327});
1328```
1329
1330### showWindow<sup>9+</sup>
1331
1332showWindow(callback: AsyncCallback&lt;void&gt;): void
1333
1334显示当前窗口,使用callback异步回调。
1335
1336**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1337
1338**参数:**
1339
1340| 参数名 | 类型 | 必填 | 说明 |
1341| -------- | ------------------------- | -- | --------- |
1342| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1343
1344**错误码:**
1345
1346以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1347
1348| 错误码ID | 错误信息 |
1349| ------- | ------------------------------ |
1350| 1300002 | This window state is abnormal. |
1351
1352**示例:**
1353
1354```js
1355windowClass.showWindow((err) => {
1356    if (err.code) {
1357        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
1358        return;
1359    }
1360    console.info('Succeeded in showing the window.');
1361});
1362```
1363
1364### showWindow<sup>9+</sup>
1365
1366showWindow(): Promise&lt;void&gt;
1367
1368显示当前窗口,使用Promise异步回调。
1369
1370**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1371
1372**返回值:**
1373
1374| 类型 | 说明 |
1375| ------------------- | ----------------------- |
1376| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1377
1378**错误码:**
1379
1380以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1381
1382| 错误码ID | 错误信息 |
1383| ------- | ------------------------------ |
1384| 1300002 | This window state is abnormal. |
1385
1386**示例:**
1387
1388```js
1389let promise = windowClass.showWindow();
1390promise.then(()=> {
1391    console.info('Succeeded in showing the window.');
1392}).catch((err)=>{
1393    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
1394});
1395```
1396
1397### showWithAnimation<sup>9+</sup>
1398
1399showWithAnimation(callback: AsyncCallback&lt;void&gt;): void
1400
1401显示当前窗口,过程中播放动画,使用callback异步回调。
1402
1403**系统接口:** 此接口为系统接口。
1404
1405**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1406
1407**参数:**
1408
1409| 参数名   | 类型                      | 必填 | 说明       |
1410| -------- | ------------------------- | ---- | ---------- |
1411| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
1412
1413**错误码:**
1414
1415以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1416
1417| 错误码ID | 错误信息 |
1418| ------- | -------------------------------------------- |
1419| 1300002 | This window state is abnormal.               |
1420| 1300003 | This window manager service works abnormally. |
1421| 1300004 | Unauthorized operation.                |
1422
1423**示例:**
1424
1425```js
1426windowClass.showWithAnimation((err) => {
1427    if (err.code) {
1428        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
1429        return;
1430    }
1431    console.info('Succeeded in showing the window with animation.');
1432});
1433```
1434
1435### showWithAnimation<sup>9+</sup>
1436
1437showWithAnimation(): Promise&lt;void&gt;
1438
1439显示当前窗口,过程中播放动画,使用Promise异步回调。
1440
1441**系统接口:** 此接口为系统接口。
1442
1443**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1444
1445**返回值:**
1446
1447| 类型                | 说明                      |
1448| ------------------- | ------------------------- |
1449| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1450
1451**错误码:**
1452
1453以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1454
1455| 错误码ID | 错误信息 |
1456| ------- | -------------------------------------------- |
1457| 1300002 | This window state is abnormal.               |
1458| 1300003 | This window manager service works abnormally. |
1459| 1300004 | Unauthorized operation.                |
1460
1461**示例:**
1462
1463```js
1464let promise = windowClass.showWithAnimation();
1465promise.then(()=> {
1466    console.info('Succeeded in showing the window with animation.');
1467}).catch((err)=>{
1468    console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
1469});
1470```
1471
1472### destroyWindow<sup>9+</sup>
1473
1474destroyWindow(callback: AsyncCallback&lt;void&gt;): void
1475
1476销毁当前窗口,使用callback异步回调。
1477
1478**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1479
1480**参数:**
1481
1482| 参数名 | 类型 | 必填 | 说明 |
1483| -------- | ------------------------- | -- | --------- |
1484| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1485
1486**错误码:**
1487
1488以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1489
1490| 错误码ID | 错误信息 |
1491| ------- | -------------------------------------------- |
1492| 1300002 | This window state is abnormal.               |
1493| 1300003 | This window manager service works abnormally. |
1494
1495**示例:**
1496
1497```js
1498windowClass.destroyWindow((err) => {
1499    if (err.code) {
1500        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
1501        return;
1502    }
1503    console.info('Succeeded in destroying the window.');
1504});
1505```
1506
1507### destroyWindow<sup>9+</sup>
1508
1509destroyWindow(): Promise&lt;void&gt;
1510
1511销毁当前窗口,使用Promise异步回调。
1512
1513**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1514
1515**返回值:**
1516
1517| 类型 | 说明 |
1518| ------------------- | ------------------------ |
1519| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1520
1521**错误码:**
1522
1523以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1524
1525| 错误码ID | 错误信息 |
1526| ------- | -------------------------------------------- |
1527| 1300002 | This window state is abnormal.               |
1528| 1300003 | This window manager service works abnormally. |
1529
1530**示例:**
1531
1532```js
1533let promise = windowClass.destroyWindow();
1534promise.then(()=> {
1535    console.info('Succeeded in destroying the window.');
1536}).catch((err)=>{
1537    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
1538});
1539```
1540
1541### moveWindowTo<sup>9+</sup>
1542
1543moveWindowTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
1544
1545移动窗口位置,使用callback异步回调。
1546
1547全屏模式窗口不支持该操作。
1548
1549**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1550
1551**参数:**
1552
1553| 参数名 | 类型 | 必填 | 说明 |
1554| -------- | ------------------------- | -- | --------------------------------------------- |
1555| x        | number                    | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
1556| y        | number                    | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
1557| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                     |
1558
1559**错误码:**
1560
1561以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1562
1563| 错误码ID | 错误信息 |
1564| ------- | -------------------------------------------- |
1565| 1300002 | This window state is abnormal.               |
1566| 1300003 | This window manager service works abnormally. |
1567
1568**示例:**
1569
1570```js
1571try {
1572    windowClass.moveWindowTo(300, 300, (err)=>{
1573        if (err.code) {
1574            console.error('Failed to move the window. Cause:' + JSON.stringify(err));
1575            return;
1576        }
1577        console.info('Succeeded in moving the window.');
1578    });
1579} catch (exception) {
1580    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
1581}
1582```
1583
1584### moveWindowTo<sup>9+</sup>
1585
1586moveWindowTo(x: number, y: number): Promise&lt;void&gt;
1587
1588移动窗口位置,使用Promise异步回调。
1589
1590全屏模式窗口不支持该操作。
1591
1592**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1593
1594**参数:**
1595
1596| 参数名 | 类型 | 必填 | 说明 |
1597| -- | ----- | -- | --------------------------------------------- |
1598| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
1599| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
1600
1601**返回值:**
1602
1603| 类型 | 说明 |
1604| ------------------- | ------------------------ |
1605| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1606
1607**错误码:**
1608
1609以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1610
1611| 错误码ID | 错误信息 |
1612| ------- | -------------------------------------------- |
1613| 1300002 | This window state is abnormal.               |
1614| 1300003 | This window manager service works abnormally. |
1615
1616**示例:**
1617
1618```js
1619try {
1620    let promise = windowClass.moveWindowTo(300, 300);
1621    promise.then(()=> {
1622        console.info('Succeeded in moving the window.');
1623    }).catch((err)=>{
1624        console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
1625    });
1626} catch (exception) {
1627    console.error('Failed to move the window. Cause:' + JSON.stringify(exception));
1628}
1629```
1630
1631### resize<sup>9+</sup>
1632
1633resize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
1634
1635改变当前窗口大小,使用callback异步回调。
1636
1637应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
1638
1639系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
1640
1641设置的宽度与高度受到此约束限制。
1642
1643全屏模式窗口不支持该操作。
1644
1645**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1646
1647**参数:**
1648
1649| 参数名 | 类型 | 必填 | 说明 |
1650| -------- | ------------------------- | -- | ------------------------ |
1651| width    | number                    | 是 | 目标窗口的宽度,单位为px。 |
1652| height   | number                    | 是 | 目标窗口的高度,单位为px。 |
1653| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。                |
1654
1655**错误码:**
1656
1657以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1658
1659| 错误码ID | 错误信息 |
1660| ------- | -------------------------------------------- |
1661| 1300002 | This window state is abnormal.               |
1662| 1300003 | This window manager service works abnormally. |
1663
1664**示例:**
1665
1666```js
1667try {
1668    windowClass.resize(500, 1000, (err) => {
1669        if (err.code) {
1670            console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
1671            return;
1672        }
1673        console.info('Succeeded in changing the window size.');
1674    });
1675} catch (exception) {
1676    console.error('Failed to change the window size. Cause:' + JSON.stringify(exception));
1677}
1678```
1679
1680### resize<sup>9+</sup>
1681
1682resize(width: number, height: number): Promise&lt;void&gt;
1683
1684改变当前窗口大小,使用Promise异步回调。
1685
1686应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
1687
1688系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
1689
1690设置的宽度与高度受到此约束限制。
1691
1692全屏模式窗口不支持该操作。
1693
1694**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1695
1696**参数:**
1697
1698| 参数名 | 类型 | 必填 | 说明 |
1699| ------ | ------ | -- | ------------------------ |
1700| width  | number | 是 | 目标窗口的宽度,单位为px。 |
1701| height | number | 是 | 目标窗口的高度,单位为px。 |
1702
1703**返回值:**
1704
1705| 类型 | 说明 |
1706| ------------------- | ------------------------ |
1707| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1708
1709**错误码:**
1710
1711以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1712
1713| 错误码ID | 错误信息 |
1714| ------- | -------------------------------------------- |
1715| 1300002 | This window state is abnormal.               |
1716| 1300003 | This window manager service works abnormally. |
1717
1718**示例:**
1719
1720```js
1721try {
1722    let promise = windowClass.resize(500, 1000);
1723    promise.then(()=> {
1724        console.info('Succeeded in changing the window size.');
1725    }).catch((err)=>{
1726        console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
1727    });
1728} catch (exception) {
1729    console.error('Failed to change the window size. Cause: ' + JSON.stringify(exception));
1730}
1731```
1732
1733### setWindowMode<sup>9+</sup>
1734
1735setWindowMode(mode: WindowMode, callback: AsyncCallback&lt;void&gt;): void
1736
1737设置窗口模式,使用callback异步回调。
1738
1739**系统接口:** 此接口为系统接口。
1740
1741**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1742
1743**参数:**
1744
1745| 参数名 | 类型 | 必填 | 说明 |
1746| -------- | -------------------------- | -- | --------- |
1747| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1748| callback | AsyncCallback&lt;void&gt;  | 是 | 回调函数。 |
1749
1750**错误码:**
1751
1752以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1753
1754| 错误码ID | 错误信息 |
1755| ------- | -------------------------------------------- |
1756| 1300002 | This window state is abnormal.               |
1757| 1300003 | This window manager service works abnormally. |
1758
1759**示例:**
1760
1761```js
1762let mode = window.WindowMode.FULLSCREEN;
1763try {
1764    windowClass.setWindowMode(mode, (err) => {
1765    if (err.code) {
1766        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
1767        return;
1768    }
1769    console.info('Succeeded in setting the window mode.');
1770    });
1771} catch (exception) {
1772    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
1773}
1774```
1775
1776### setWindowMode<sup>9+</sup>
1777
1778setWindowMode(mode: WindowMode): Promise&lt;void&gt;
1779
1780设置窗口类型,使用Promise异步回调。
1781
1782**系统接口:** 此接口为系统接口。
1783
1784**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1785
1786**参数:**
1787
1788| 参数名 | 类型 | 必填 | 说明 |
1789| -------- | -------------------------- | -- | --------- |
1790| mode     | [WindowMode](#windowmode7) | 是 | 窗口模式。 |
1791
1792**返回值:**
1793
1794| 类型 | 说明 |
1795| ------------------- | ----------------------- |
1796| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1797
1798**错误码:**
1799
1800以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1801
1802| 错误码ID | 错误信息 |
1803| ------- | -------------------------------------------- |
1804| 1300002 | This window state is abnormal.               |
1805| 1300003 | This window manager service works abnormally. |
1806
1807**示例:**
1808
1809```js
1810let mode = window.WindowMode.FULLSCREEN;
1811try {
1812    let promise = windowClass.setWindowMode(mode);
1813    promise.then(()=> {
1814        console.info('Succeeded in setting the window mode.');
1815    }).catch((err)=>{
1816        console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err));
1817    });
1818} catch (exception) {
1819    console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception));
1820}
1821```
1822
1823### getWindowProperties<sup>9+</sup>
1824
1825getWindowProperties(): WindowProperties
1826
1827获取当前窗口的属性,返回WindowProperties。
1828
1829**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1830
1831**返回值:**
1832
1833| 类型 | 说明 |
1834| ------------------------------------- | ------------- |
1835| [WindowProperties](#windowproperties) | 当前窗口属性。 |
1836
1837**错误码:**
1838
1839以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1840
1841| 错误码ID | 错误信息 |
1842| ------- | ------------------------------ |
1843| 1300002 | This window state is abnormal. |
1844
1845**示例:**
1846
1847```js
1848try {
1849    let properties = windowClass.getWindowProperties();
1850} catch (exception) {
1851    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception));
1852}
1853```
1854
1855### getWindowAvoidArea<sup>9+</sup>
1856
1857getWindowAvoidArea(type: AvoidAreaType): AvoidArea
1858
1859获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
1860
1861**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1862
1863**参数:**
1864
1865| 参数名 | 类型 | 必填 | 说明 |
1866| ---- |----------------------------------| -- | ------------------------------------------------------------ |
1867| type | [AvoidAreaType](#avoidareatype7) | 是 | 表示规避区类型。 |
1868
1869**返回值:**
1870
1871| 类型 | 说明 |
1872|--------------------------| ----------------- |
1873| [AvoidArea](#avoidarea7) | 窗口内容规避区域。 |
1874
1875**错误码:**
1876
1877以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1878
1879| 错误码ID | 错误信息 |
1880| ------- | ------------------------------ |
1881| 1300002 | This window state is abnormal. |
1882
1883**示例:**
1884
1885```js
1886let type = window.AvoidAreaType.TYPE_SYSTEM;
1887try {
1888    let avoidArea = windowClass.getWindowAvoidArea(type);
1889} catch (exception) {
1890    console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception));
1891}
1892```
1893
1894### setWindowLayoutFullScreen<sup>9+</sup>
1895
1896setWindowLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
1897
1898设置窗口的布局是否为全屏显示状态,使用callback异步回调。
1899
1900**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1901
1902**参数:**
1903
1904| 参数名 | 类型 | 必填 | 说明 |
1905| ------------------ | ------------------------- | -- | --------- |
1906| isLayoutFullScreen | boolean                   | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
1907| callback           | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1908
1909**错误码:**
1910
1911以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1912
1913| 错误码ID | 错误信息 |
1914| ------- | -------------------------------------------- |
1915| 1300002 | This window state is abnormal.               |
1916| 1300003 | This window manager service works abnormally. |
1917
1918**示例:**
1919
1920```js
1921let isLayoutFullScreen= true;
1922try {
1923    windowClass.setWindowLayoutFullScreen(isLayoutFullScreen, (err) => {
1924        if (err.code) {
1925            console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
1926            return;
1927        }
1928        console.info('Succeeded in setting the window layout to full-screen mode.');
1929    });
1930} catch (exception) {
1931    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
1932}
1933```
1934
1935### setWindowLayoutFullScreen<sup>9+</sup>
1936
1937setWindowLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
1938
1939设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
1940
1941**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1942
1943**参数:**
1944
1945| 参数名 | 类型 | 必填 | 说明 |
1946| ------------------ | ------- | -- | ------------------------------------------------------------------------------------------------ |
1947| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 |
1948
1949**返回值:**
1950
1951| 类型 | 说明 |
1952| ------------------- | ------------------------ |
1953| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
1954
1955**错误码:**
1956
1957以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1958
1959| 错误码ID | 错误信息 |
1960| ------- | -------------------------------------------- |
1961| 1300002 | This window state is abnormal.               |
1962| 1300003 | This window manager service works abnormally. |
1963
1964**示例:**
1965
1966```js
1967let isLayoutFullScreen = true;
1968try {
1969    let promise = windowClass.setWindowLayoutFullScreen(isLayoutFullScreen);
1970    promise.then(()=> {
1971        console.info('Succeeded in setting the window layout to full-screen mode.');
1972    }).catch((err)=>{
1973        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
1974    });
1975} catch (exception) {
1976    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception));
1977}
1978```
1979
1980### setWindowSystemBarEnable<sup>9+</sup>
1981
1982setWindowSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
1983
1984设置导航栏、状态栏的可见模式,使用callback异步回调。
1985
1986**系统能力:** SystemCapability.WindowManager.WindowManager.Core
1987
1988**参数:**
1989
1990| 参数名 | 类型 | 必填 | 说明 |
1991| -------- | ---------------------------- | -- | --------- |
1992| names    | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
1993| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。 |
1994
1995**错误码:**
1996
1997以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
1998
1999| 错误码ID | 错误信息 |
2000| ------- | -------------------------------------------- |
2001| 1300002 | This window state is abnormal.               |
2002| 1300003 | This window manager service works abnormally. |
2003
2004**示例:**
2005
2006```js
2007// 此处以不显示导航栏、状态栏为例
2008let names = [];
2009try {
2010    windowClass.setWindowSystemBarEnable(names, (err) => {
2011        if (err.code) {
2012            console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
2013            return;
2014        }
2015        console.info('Succeeded in setting the system bar to be invisible.');
2016    });
2017} catch (exception) {
2018    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
2019}
2020```
2021
2022### setWindowSystemBarEnable<sup>9+</sup>
2023
2024setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
2025
2026设置导航栏、状态栏的可见模式,使用Promise异步回调。
2027
2028**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2029
2030**参数:**
2031
2032| 参数名 | 类型  | 必填 | 说明 |
2033| ----- | ---------------------------- | -- | --------------------------------- |
2034| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
2035
2036**返回值:**
2037
2038| 类型 | 说明 |
2039| ------------------- | ------------------------ |
2040| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2041
2042**错误码:**
2043
2044以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2045
2046| 错误码ID | 错误信息 |
2047| ------- | -------------------------------------------- |
2048| 1300002 | This window state is abnormal.               |
2049| 1300003 | This window manager service works abnormally. |
2050
2051**示例:**
2052
2053```js
2054// 此处以不显示导航栏、状态栏为例
2055let names = [];
2056try {
2057    let promise = windowClass.setWindowSystemBarEnable(names);
2058    promise.then(()=> {
2059        console.info('Succeeded in setting the system bar to be invisible.');
2060    }).catch((err)=>{
2061        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
2062    });
2063} catch (exception) {
2064    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception));
2065}
2066```
2067
2068### setWindowSystemBarProperties<sup>9+</sup>
2069
2070setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
2071
2072设置窗口内导航栏、状态栏的属性,使用callback异步回调。
2073
2074**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2075
2076**参数:**
2077
2078| 参数名              | 类型                                        | 必填 | 说明                   |
2079| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2080| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
2081| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
2082
2083**错误码:**
2084
2085以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2086
2087| 错误码ID | 错误信息 |
2088| ------- | -------------------------------------------- |
2089| 1300002 | This window state is abnormal.               |
2090| 1300003 | This window manager service works abnormally. |
2091
2092**示例:**
2093
2094```js
2095let SystemBarProperties = {
2096    statusBarColor: '#ff00ff',
2097    navigationBarColor: '#00ff00',
2098    //以下两个属性从API Version8开始支持
2099    statusBarContentColor:'#ffffff',
2100    navigationBarContentColor:'#00ffff'
2101};
2102try {
2103    windowClass.setWindowSystemBarProperties(SystemBarProperties, (err) => {
2104        if (err.code) {
2105            console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
2106            return;
2107        }
2108        console.info('Succeeded in setting the system bar properties.');
2109    });
2110} catch (exception) {
2111    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
2112}
2113```
2114
2115### setWindowSystemBarProperties<sup>9+</sup>
2116
2117setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
2118
2119设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
2120
2121**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2122
2123**参数:**
2124
2125| 参数名              | 类型                                        | 必填 | 说明                   |
2126| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2127| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
2128
2129**返回值:**
2130
2131| 类型                | 说明                      |
2132| ------------------- | ------------------------- |
2133| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2134
2135**错误码:**
2136
2137以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2138
2139| 错误码ID | 错误信息 |
2140| ------- | -------------------------------------------- |
2141| 1300002 | This window state is abnormal.               |
2142| 1300003 | This window manager service works abnormally. |
2143
2144**示例:**
2145
2146```js
2147let SystemBarProperties = {
2148    statusBarColor: '#ff00ff',
2149    navigationBarColor: '#00ff00',
2150    //以下两个属性从API Version8开始支持
2151    statusBarContentColor:'#ffffff',
2152    navigationBarContentColor:'#00ffff'
2153};
2154try {
2155    let promise = windowClass.setWindowSystemBarProperties(SystemBarProperties);
2156    promise.then(()=> {
2157        console.info('Succeeded in setting the system bar properties.');
2158    }).catch((err)=>{
2159        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
2160    });
2161} catch (exception) {
2162    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception));
2163}
2164```
2165
2166### setPreferredOrientation<sup>9+</sup>
2167
2168setPreferredOrientation(orientation: Orientation, callback: AsyncCallback&lt;void&gt;): void
2169
2170设置窗口的显示方向属性,使用callback异步回调。
2171
2172**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2173
2174**参数:**
2175
2176| 参数名              | 类型                                        | 必填 | 说明                   |
2177| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2178| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。         |
2179| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
2180
2181**错误码:**
2182
2183以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2184
2185| 错误码ID | 错误信息 |
2186| ------- | ------------------------------ |
2187| 1300002 | This window state is abnormal. |
2188
2189**示例:**
2190
2191```js
2192let orientation = window.Orientation.AUTO_ROTATION;
2193try {
2194    windowClass.setPreferredOrientation(orientation, (err) => {
2195        if (err.code) {
2196            console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err));
2197            return;
2198        }
2199        console.info('Succeeded in setting window orientation.');
2200    });
2201} catch (exception) {
2202    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
2203}
2204```
2205
2206### setPreferredOrientation<sup>9+</sup>
2207
2208setPreferredOrientation(orientation: Orientation): Promise&lt;void&gt;
2209
2210设置窗口的显示方向属性,使用Promise异步回调。
2211
2212**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2213
2214**参数:**
2215
2216| 参数名              | 类型                                        | 必填 | 说明                   |
2217| ------------------- | ------------------------------------------- | ---- | ---------------------- |
2218| Orientation         | [Orientation](#orientation9)                | 是   | 窗口显示方向的属性。       |
2219
2220**返回值:**
2221
2222| 类型                | 说明                      |
2223| ------------------- | ------------------------- |
2224| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2225
2226**错误码:**
2227
2228以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2229
2230| 错误码ID | 错误信息 |
2231| ------- | ------------------------------ |
2232| 1300002 | This window state is abnormal. |
2233
2234**示例:**
2235
2236```js
2237let orientation = window.Orientation.AUTO_ROTATION;
2238try {
2239    let promise = windowClass.setPreferredOrientation(orientation);
2240    promise.then(()=> {
2241        console.info('Succeeded in setting the window orientation.');
2242    }).catch((err)=>{
2243        console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err));
2244    });
2245} catch (exception) {
2246    console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception));
2247}
2248```
2249
2250### setUIContent<sup>9+</sup>
2251
2252setUIContent(path: string, callback: AsyncCallback&lt;void&gt;): void
2253
2254为当前窗口加载具体页面内容,使用callback异步回调。
2255
2256**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2257
2258**参数:**
2259
2260| 参数名 | 类型 | 必填 | 说明 |
2261| -------- | ------------------------- | -- | -------------------- |
2262| path     | string                    | 是 | 设置加载页面的路径。 |
2263| callback | AsyncCallback&lt;void&gt; | 是 | 回调函数。          |
2264
2265**错误码:**
2266
2267以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2268
2269| 错误码ID | 错误信息 |
2270| ------- | -------------------------------------------- |
2271| 1300002 | This window state is abnormal.               |
2272| 1300003 | This window manager service works abnormally. |
2273
2274**示例:**
2275
2276```js
2277try {
2278    windowClass.setUIContent('pages/page2/page2', (err) => {
2279    if (err.code) {
2280            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2281            return;
2282    }
2283    console.info('Succeeded in loading the content.');
2284    });
2285} catch (exception) {
2286    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2287}
2288```
2289
2290### setUIContent<sup>9+</sup>
2291
2292setUIContent(path: string): Promise&lt;void&gt;
2293
2294为当前窗口加载具体页面内容,使用Promise异步回调。
2295
2296**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2297
2298**参数:**
2299
2300| 参数名 | 类型 | 必填 | 说明 |
2301| ---- | ------ | -- | ------------------ |
2302| path | string | 是 | 设置加载页面的路径。 |
2303
2304**返回值:**
2305
2306| 类型 | 说明 |
2307| ------------------- | ------------------------ |
2308| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2309
2310**错误码:**
2311
2312以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2313
2314| 错误码ID | 错误信息 |
2315| ------- | -------------------------------------------- |
2316| 1300002 | This window state is abnormal.               |
2317| 1300003 | This window manager service works abnormally. |
2318
2319**示例:**
2320
2321```js
2322try {
2323    let promise = windowClass.setUIContent('pages/page2/page2');
2324    promise.then(()=> {
2325        console.info('Succeeded in loading the content.');
2326    }).catch((err)=>{
2327        console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
2328    });
2329} catch (exception) {
2330    console.error('Failed to load the content. Cause: ' + JSON.stringify(exception));
2331}
2332```
2333
2334### loadContent<sup>9+</sup>
2335
2336loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void
2337
2338为当前窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。
2339
2340**模型约束:** 此接口仅可在Stage模型下使用。
2341
2342**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2343
2344**参数:**
2345
2346| 参数名   | 类型                                            | 必填 | 说明                                                         |
2347| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
2348| path     | string                                          | 是   | 设置加载页面的路径。                                         |
2349| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
2350| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
2351
2352**错误码:**
2353
2354以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2355
2356| 错误码ID | 错误信息 |
2357| ------- | -------------------------------------------- |
2358| 1300002 | This window state is abnormal.               |
2359| 1300003 | This window manager service works abnormally. |
2360
2361**示例:**
2362
2363```ts
2364let storage = new LocalStorage();
2365storage.setOrCreate('storageSimpleProp',121);
2366console.log('onWindowStageCreate');
2367try {
2368    windowClass.loadContent('pages/page2', storage, (err) => {
2369        if (err.code) {
2370            console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2371            return;
2372        }
2373        console.info('Succeeded in loading the content.');
2374    });
2375} catch (exception) {
2376    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2377}
2378```
2379
2380### loadContent<sup>9+</sup>
2381
2382loadContent(path: string, storage: LocalStorage): Promise&lt;void&gt;
2383
2384为当前窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。
2385
2386**模型约束:** 此接口仅可在Stage模型下使用。
2387
2388**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2389
2390**参数:**
2391
2392| 参数名  | 类型                                            | 必填 | 说明                                                         |
2393| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
2394| path    | string                                          | 是   | 设置加载页面的路径。                                         |
2395| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
2396
2397**返回值:**
2398
2399| 类型                | 说明                      |
2400| ------------------- | ------------------------- |
2401| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2402
2403**错误码:**
2404
2405以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2406
2407| 错误码ID | 错误信息 |
2408| ------- | -------------------------------------------- |
2409| 1300002 | This window state is abnormal.               |
2410| 1300003 | This window manager service works abnormally. |
2411
2412**示例:**
2413
2414```ts
2415let storage = new LocalStorage();
2416storage.setOrCreate('storageSimpleProp',121);
2417console.log('onWindowStageCreate');
2418try {
2419    let promise = windowClass.loadContent('pages/page2', storage);
2420    promise.then(() => {
2421        console.info('Succeeded in loading the content.');
2422    }).catch((err) => {
2423        console.error('Failed to load the content. Cause:' + JSON.stringify(err));
2424    });
2425} catch (exception) {
2426    console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
2427}
2428```
2429
2430### isWindowShowing<sup>9+</sup>
2431
2432isWindowShowing(): boolean
2433
2434判断当前窗口是否已显示。
2435
2436**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2437
2438**返回值:**
2439
2440| 类型 | 说明 |
2441| ------- | ------------------------------------------------------------------ |
2442| boolean | 当前窗口是否已显示。true表示当前窗口已显示,false则表示当前窗口未显示。 |
2443
2444**错误码:**
2445
2446以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2447
2448| 错误码ID | 错误信息 |
2449| ------- | ------------------------------ |
2450| 1300002 | This window state is abnormal. |
2451
2452**示例:**
2453
2454```js
2455try {
2456    let data = windowClass.isWindowShowing();
2457    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
2458} catch (exception) {
2459    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception));
2460}
2461```
2462
2463### on('windowSizeChange')<sup>7+</sup>
2464
2465on(type:  'windowSizeChange', callback: Callback&lt;Size&gt;): void
2466
2467开启窗口尺寸变化的监听。
2468
2469**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2470
2471**参数:**
2472
2473| 参数名   | 类型                           | 必填 | 说明                                                     |
2474| -------- | ------------------------------ | ---- | -------------------------------------------------------- |
2475| type     | string                         | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
2476| callback | Callback&lt;[Size](#size7)&gt; | 是   | 回调函数。返回当前的窗口尺寸。                           |
2477
2478**示例:**
2479
2480```js
2481try {
2482    windowClass.on('windowSizeChange', (data) => {
2483        console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
2484    });
2485} catch (exception) {
2486    console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2487}
2488```
2489
2490### off('windowSizeChange')<sup>7+</sup>
2491
2492off(type: 'windowSizeChange', callback?: Callback&lt;Size&gt;): void
2493
2494关闭窗口尺寸变化的监听。
2495
2496**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2497
2498**参数:**
2499
2500| 参数名   | 类型                          | 必填 | 说明                                                     |
2501| -------- | ----------------------------- | ---- | -------------------------------------------------------- |
2502| type     | string                        | 是   | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 |
2503| callback | Callback&lt;[Size](#size7)&gt; | 否   | 回调函数。返回当前的窗口尺寸。                           |
2504
2505**示例:**
2506
2507```js
2508try {
2509    windowClass.off('windowSizeChange');
2510} catch (exception) {
2511    console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception));
2512}
2513```
2514
2515### on('avoidAreaChange')<sup>9+</sup>
2516
2517on(type: 'avoidAreaChange', callback: Callback&lt;{AvoidAreaType, AvoidArea}&gt;): void
2518
2519开启系统规避区变化的监听。
2520
2521**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2522
2523**参数:**
2524
2525| 参数名   | 类型                                                               | 必填 | 说明                                   |
2526| -------- |------------------------------------------------------------------| ---- |--------------------------------------|
2527| type     | string                                                           | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
2528| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 是   | 回调函数。返回当前规避区以及规避区类型。|
2529
2530**示例:**
2531
2532```js
2533try {
2534    windowClass.on('avoidAreaChange', (data) => {
2535        console.info('Succeeded in enabling the listener for system avoid area changes. type:' +
2536            JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area));
2537    });
2538} catch (exception) {
2539    console.error('Failed to enable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
2540}
2541```
2542
2543### off('avoidAreaChange')<sup>9+</sup>
2544
2545off(type: 'avoidAreaChange', callback?: Callback&lt;{AvoidAreaType, AvoidArea}&gt;): void
2546
2547关闭系统规避区变化的监听。
2548
2549**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2550
2551**参数:**
2552
2553| 参数名   | 类型                                                                          | 必填  | 说明                                 |
2554| -------- |-----------------------------------------------------------------------------|-----|------------------------------------|
2555| type     | string                                                                      | 是   | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 |
2556| callback | Callback&lt;{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}&gt; | 否   | 回调函数。返回当前规避区以及规避区类型。|
2557
2558**示例:**
2559
2560```js
2561try {
2562    windowClass.off('avoidAreaChange');
2563} catch (exception) {
2564    console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception));
2565}
2566```
2567
2568### on('keyboardHeightChange')<sup>7+</sup>
2569
2570on(type: 'keyboardHeightChange', callback: Callback&lt;number&gt;): void
2571
2572开启键盘高度变化的监听。
2573
2574**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2575
2576**参数:**
2577
2578| 参数名   | 类型                | 必填 | 说明                                                         |
2579| -------- | ------------------- | ---- | ------------------------------------------------------------ |
2580| type     | string              | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
2581| callback | Callback&lt;number&gt; | 是   | 回调函数。返回当前的键盘高度。                               |
2582
2583**示例:**
2584
2585```js
2586try {
2587    windowClass.on('keyboardHeightChange', (data) => {
2588        console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
2589    });
2590} catch (exception) {
2591    console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2592}
2593```
2594
2595### off('keyboardHeightChange')<sup>7+</sup>
2596
2597off(type: 'keyboardHeightChange', callback?: Callback&lt;number&gt;): void
2598
2599关闭键盘高度变化的监听。
2600
2601**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2602
2603**参数:**
2604
2605| 参数名   | 类型                   | 必填 | 说明                                                         |
2606| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2607| type     | string                 | 是   | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 |
2608| callback | Callback&lt;number&gt; | 否   | 回调函数。返回当前的键盘高度。                               |
2609
2610**示例:**
2611
2612```js
2613try {
2614    windowClass.off('keyboardHeightChange');
2615} catch (exception) {
2616    console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception));
2617}
2618```
2619
2620### on('touchOutside')<sup>9+</sup>
2621
2622on(type: 'touchOutside', callback: Callback&lt;void&gt;): void
2623
2624开启本窗口区域范围外的点击事件的监听。
2625
2626**系统接口:** 此接口为系统接口。
2627
2628**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2629
2630**参数:**
2631
2632| 参数名   | 类型                | 必填 | 说明                                                         |
2633| -------- | ------------------- | ---- | ------------------------------------------------------------ |
2634| type     | string              | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
2635| callback | Callback&lt;void&gt; | 是   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
2636
2637**示例:**
2638
2639```js
2640try {
2641    windowClass.on('touchOutside', () => {
2642        console.info('touch outside');
2643    });
2644} catch (exception) {
2645    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2646}
2647```
2648
2649### off('touchOutside')<sup>9+</sup>
2650
2651off(type: 'touchOutside', callback?: Callback&lt;void&gt;): void
2652
2653关闭本窗口区域范围外的点击事件的监听。
2654
2655**系统接口:** 此接口为系统接口。
2656
2657**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2658
2659**参数:**
2660
2661| 参数名   | 类型                   | 必填 | 说明                                                         |
2662| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2663| type     | string                 | 是   | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 |
2664| callback | Callback&lt;number&gt; | 否   | 回调函数。当点击事件发生在本窗口范围之外的回调。                               |
2665
2666**示例:**
2667
2668```js
2669try {
2670    windowClass.off('touchOutside');
2671} catch (exception) {
2672    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2673}
2674```
2675
2676### on('screenshot')<sup>9+</sup>
2677
2678on(type: 'screenshot', callback: Callback&lt;void&gt;): void
2679
2680开启截屏事件的监听。
2681
2682**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2683
2684**参数:**
2685
2686| 参数名   | 类型                | 必填 | 说明                                                         |
2687| -------- | ------------------- | ---- | ------------------------------------------------------------ |
2688| type     | string              | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
2689| callback | Callback&lt;void&gt; | 是   | 回调函数。发生截屏事件时的回调。                               |
2690
2691**示例:**
2692
2693```js
2694try {
2695    windowClass.on('screenshot', () => {
2696        console.info('screenshot happened');
2697    });
2698} catch (exception) {
2699    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2700}
2701```
2702
2703### off('screenshot')<sup>9+</sup>
2704
2705off(type: 'screenshot', callback?: Callback&lt;void&gt;): void
2706
2707关闭截屏事件的监听。
2708
2709**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2710
2711**参数:**
2712
2713| 参数名   | 类型                   | 必填 | 说明                                                         |
2714| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
2715| type     | string                 | 是   | 监听事件,固定为'screenshot',即截屏事件。 |
2716| callback | Callback&lt;void&gt; | 否   | 回调函数。发生截屏事件时的回调。 |
2717
2718**示例:**
2719
2720```js
2721let callback = () => {
2722    console.info('screenshot happened');
2723};
2724try {
2725    windowClass.on('screenshot', callback);
2726} catch (exception) {
2727    console.error('Failed to register callback. Cause: ' + JSON.stringify(exception));
2728}
2729try {
2730    windowClass.off('screenshot', callback);
2731    // 如果通过on开启多个callback进行监听,同时关闭所有监听:
2732    windowClass.off('screenshot');
2733} catch (exception) {
2734    console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception));
2735}
2736```
2737
2738### bindDialogTarget<sup>9+</sup>
2739
2740bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;, callback: AsyncCallback&lt;void&gt;): void
2741
2742绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用callback异步回调。
2743
2744**系统接口:** 此接口为系统接口。
2745
2746**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2747
2748**参数:**
2749
2750| 参数名       | 类型                      | 必填 | 说明                  |
2751| ----------- | ------------------------- | ---- | -------------------- |
2752| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
2753| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
2754| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
2755
2756**错误码:**
2757
2758以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2759
2760| 错误码ID | 错误信息 |
2761| ------- | -------------------------------------------- |
2762| 1300002 | This window state is abnormal.               |
2763| 1300003 | This window manager service works abnormally. |
2764
2765**示例:**
2766
2767```js
2768import rpc from '@ohos.rpc';
2769
2770class MyDeathRecipient {
2771    onRemoteDied() {
2772        console.log('server died');
2773    }
2774}
2775class TestRemoteObject extends rpc.RemoteObject {
2776    constructor(descriptor) {
2777        super(descriptor);
2778    }
2779    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2780        return true;
2781    }
2782    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2783        return true;
2784    }
2785    isObjectDead(): boolean {
2786        return false;
2787    }
2788}
2789
2790let token = new TestRemoteObject('testObject');
2791try {
2792    windowClass.bindDialogTarget(token, () => {
2793        console.info('Dialog Window Need Destroy.');
2794    }, (err) => {
2795        if (err.code) {
2796            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
2797            return;
2798        }
2799        console.info('Succeeded in binding dialog target.');
2800    });
2801} catch (exception) {
2802    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
2803}
2804```
2805
2806### bindDialogTarget<sup>9+</sup>
2807
2808bindDialogTarget(token: rpc.RemoteObject, deathCallback: Callback&lt;void&gt;): Promise&lt;void&gt;
2809
2810绑定模态窗口与目标窗口并添加模态窗口销毁监听,使用Promise异步回调。
2811
2812**系统接口:** 此接口为系统接口。
2813
2814**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2815
2816**参数:**
2817
2818| 参数名       | 类型                      | 必填 | 说明                  |
2819| ----------- | ------------------------- | ---- | -------------------- |
2820| token       | [rpc.RemoteObject](js-apis-rpc.md#remoteobject) | 是   | 目标窗口token值。 |
2821| deathCallback | Callback&lt;void&gt;        | 是   | 模态窗口销毁监听。 |
2822
2823**返回值:**
2824
2825| 类型                | 说明                      |
2826| ------------------- | ------------------------- |
2827| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
2828
2829**错误码:**
2830
2831以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2832
2833| 错误码ID | 错误信息 |
2834| ------- | -------------------------------------------- |
2835| 1300002 | This window state is abnormal.               |
2836| 1300003 | This window manager service works abnormally. |
2837
2838**示例:**
2839
2840```js
2841import rpc from '@ohos.rpc';
2842
2843class MyDeathRecipient {
2844    onRemoteDied() {
2845        console.log('server died');
2846    }
2847}
2848class TestRemoteObject extends rpc.RemoteObject {
2849    constructor(descriptor) {
2850        super(descriptor);
2851    }
2852    addDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2853        return true;
2854    }
2855    removeDeathRecipient(recipient: MyDeathRecipient, flags: number): boolean {
2856        return true;
2857    }
2858    isObjectDead(): boolean {
2859        return false;
2860    }
2861}
2862
2863let token = new TestRemoteObject('testObject');
2864try {
2865    let promise = windowClass.bindDialogTarget(token, () => {
2866        console.info('Dialog Window Need Destroy.');
2867    });
2868    promise.then(()=> {
2869        console.info('Succeeded in binding dialog target.');
2870    }).catch((err)=>{
2871            console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err));
2872    });
2873} catch (exception) {
2874    console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception));
2875}
2876```
2877
2878### isWindowSupportWideGamut<sup>9+</sup>
2879
2880isWindowSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
2881
2882判断当前窗口是否支持广色域模式,使用callback异步回调。
2883
2884**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2885
2886**参数:**
2887
2888| 参数名 | 类型 | 必填 | 说明 |
2889| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- |
2890| callback | AsyncCallback&lt;boolean&gt; | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
2891
2892**错误码:**
2893
2894以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2895
2896| 错误码ID | 错误信息 |
2897| ------- | ------------------------------ |
2898| 1300002 | This window state is abnormal. |
2899
2900**示例:**
2901
2902```js
2903windowClass.isWindowSupportWideGamut((err, data) => {
2904    if (err.code) {
2905        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
2906        return;
2907    }
2908    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
2909});
2910```
2911
2912### isWindowSupportWideGamut<sup>9+</sup>
2913
2914isWindowSupportWideGamut(): Promise&lt;boolean&gt;
2915
2916判断当前窗口是否支持广色域模式,使用Promise异步回调。
2917
2918**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2919
2920**返回值:**
2921
2922| 类型 | 说明 |
2923| ---------------------- | ------------------------------------------------------------------------------------ |
2924| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
2925
2926**错误码:**
2927
2928以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2929
2930| 错误码ID | 错误信息 |
2931| ------- | ------------------------------ |
2932| 1300002 | This window state is abnormal. |
2933
2934**示例:**
2935
2936```js
2937let promise = windowClass.isWindowSupportWideGamut();
2938promise.then((data)=> {
2939    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
2940}).catch((err)=>{
2941    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
2942});
2943```
2944
2945### setWindowColorSpace<sup>9+</sup>
2946
2947setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
2948
2949设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
2950
2951**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2952
2953**参数:**
2954
2955| 参数名 | 类型 | 必填 | 说明 |
2956| ---------- | ------------------------- | -- | ----------- |
2957| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
2958| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。   |
2959
2960**错误码:**
2961
2962以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
2963
2964| 错误码ID | 错误信息 |
2965| ------- | ------------------------------ |
2966| 1300002 | This window state is abnormal. |
2967
2968**示例:**
2969
2970```js
2971try {
2972    windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
2973        if (err.code) {
2974            console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
2975            return;
2976        }
2977        console.info('Succeeded in setting window colorspace.');
2978    });
2979} catch (exception) {
2980    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
2981}
2982```
2983
2984### setWindowColorSpace<sup>9+</sup>
2985
2986setWindowColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
2987
2988设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
2989
2990**系统能力:** SystemCapability.WindowManager.WindowManager.Core
2991
2992**参数:**
2993
2994| 参数名 | 类型 | 必填 | 说明 |
2995| ---------- | ------------------------- | -- | ------------- |
2996| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 |
2997
2998**返回值:**
2999
3000| 类型 | 说明 |
3001| ------------------- | ------------------------ |
3002| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3003
3004**错误码:**
3005
3006以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3007
3008| 错误码ID | 错误信息 |
3009| ------- | ------------------------------ |
3010| 1300002 | This window state is abnormal. |
3011
3012**示例:**
3013
3014```js
3015try {
3016    let promise = windowClass.setWindowColorSpace(window.ColorSpace.WIDE_GAMUT);
3017    promise.then(()=> {
3018        console.info('Succeeded in setting window colorspace.');
3019    }).catch((err)=>{
3020        console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
3021    });
3022} catch (exception) {
3023    console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception));
3024}
3025```
3026
3027### getWindowColorSpace<sup>9+</sup>
3028
3029getWindowColorSpace(): ColorSpace
3030
3031获取当前窗口色域模式。
3032
3033**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3034
3035**返回值:**
3036
3037| 类型 | 说明 |
3038| ------------------------- | ------------- |
3039| [ColorSpace](#colorspace8) | 当前色域模式。 |
3040
3041**错误码:**
3042
3043以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3044
3045| 错误码ID | 错误信息 |
3046| ------- | ------------------------------ |
3047| 1300002 | This window state is abnormal. |
3048
3049**示例:**
3050
3051```js
3052let colorSpace = windowClass.getWindowColorSpace();
3053```
3054
3055### setWindowBackgroundColor<sup>9+</sup>
3056
3057setWindowBackgroundColor(color: string): void
3058
3059设置窗口的背景色。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
3060
3061**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3062
3063**参数:**
3064
3065| 参数名 | 类型 | 必填 | 说明 |
3066| ----- | ------ | -- | ----------------------------------------------------------------------- |
3067| color | string | 是 | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
3068
3069**错误码:**
3070
3071以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3072
3073| 错误码ID | 错误信息 |
3074| ------- | ------------------------------ |
3075| 1300002 | This window state is abnormal. |
3076
3077**示例:**
3078
3079```js
3080let color = '#00ff33';
3081try {
3082    windowClass.setWindowBackgroundColor(color);
3083} catch (exception) {
3084    console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception));
3085}
3086```
3087
3088### setWindowBrightness<sup>9+</sup>
3089
3090setWindowBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
3091
3092设置屏幕亮度值,使用callback异步回调。
3093
3094当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
3095
3096**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3097
3098**参数:**
3099
3100| 参数名 | 类型 | 必填 | 说明 |
3101| ---------- | ------------------------- | -- | --------------------------------- |
3102| brightness | number                    | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
3103| callback   | AsyncCallback&lt;void&gt; | 是 | 回调函数。                         |
3104
3105**错误码:**
3106
3107以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3108
3109| 错误码ID | 错误信息 |
3110| ------- | -------------------------------------------- |
3111| 1300002 | This window state is abnormal.               |
3112| 1300003 | This window manager service works abnormally. |
3113
3114**示例:**
3115
3116```js
3117let brightness = 1;
3118try {
3119    windowClass.setWindowBrightness(brightness, (err) => {
3120        if (err.code) {
3121            console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
3122            return;
3123        }
3124        console.info('Succeeded in setting the brightness.');
3125    });
3126} catch (exception) {
3127    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
3128}
3129```
3130
3131### setWindowBrightness<sup>9+</sup>
3132
3133setWindowBrightness(brightness: number): Promise&lt;void&gt;
3134
3135设置屏幕亮度值,使用Promise异步回调。
3136
3137当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
3138
3139**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3140
3141**参数:**
3142
3143| 参数名 | 类型 | 必填 | 说明 |
3144| ---------- | ------ | -- | --------------------------------- |
3145| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
3146
3147**返回值:**
3148
3149| 类型 | 说明 |
3150| ------------------- | ------------------------ |
3151| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3152
3153**错误码:**
3154
3155以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3156
3157| 错误码ID | 错误信息 |
3158| ------- | -------------------------------------------- |
3159| 1300002 | This window state is abnormal.               |
3160| 1300003 | This window manager service works abnormally. |
3161
3162**示例:**
3163
3164```js
3165let brightness = 1;
3166try {
3167    let promise = windowClass.setWindowBrightness(brightness);
3168    promise.then(()=> {
3169        console.info('Succeeded in setting the brightness.');
3170    }).catch((err)=>{
3171        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
3172    });
3173} catch (exception) {
3174    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception));
3175}
3176```
3177
3178### setWindowFocusable<sup>9+</sup>
3179
3180setWindowFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
3181
3182设置点击时是否支持切换焦点窗口,使用callback异步回调。
3183
3184**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3185
3186**参数:**
3187
3188| 参数名 | 类型 | 必填 | 说明 |
3189| ----------- | ------------------------- | -- | ------------------------------------------------------- |
3190| isFocusable | boolean                   | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
3191| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                               |
3192
3193**错误码:**
3194
3195以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3196
3197| 错误码ID | 错误信息 |
3198| ------- | -------------------------------------------- |
3199| 1300002 | This window state is abnormal.               |
3200| 1300003 | This window manager service works abnormally. |
3201
3202**示例:**
3203
3204```js
3205let isFocusable = true;
3206try {
3207    windowClass.setWindowFocusable(isFocusable, (err) => {
3208        if (err.code) {
3209            console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
3210            return;
3211        }
3212        console.info('Succeeded in setting the window to be focusable.');
3213    });
3214} catch (exception) {
3215    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3216}
3217```
3218
3219### setWindowFocusable<sup>9+</sup>
3220
3221setWindowFocusable(isFocusable: boolean): Promise&lt;void&gt;
3222
3223设置点击时是否支持切换焦点窗口,使用Promise异步回调。
3224
3225**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3226
3227**参数:**
3228
3229| 参数名 | 类型 | 必填 | 说明 |
3230| ----------- | ------- | -- | -------------------------------------------------------- |
3231| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。  |
3232
3233**返回值:**
3234
3235| 类型 | 说明 |
3236| ------------------- | ------------------------ |
3237| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3238
3239**错误码:**
3240
3241以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3242
3243| 错误码ID | 错误信息 |
3244| ------- | -------------------------------------------- |
3245| 1300002 | This window state is abnormal.               |
3246| 1300003 | This window manager service works abnormally. |
3247
3248**示例:**
3249
3250```js
3251let isFocusable = true;
3252try {
3253    let promise = windowClass.setWindowFocusable(isFocusable);
3254    promise.then(()=> {
3255        console.info('Succeeded in setting the window to be focusable.');
3256    }).catch((err)=>{
3257        console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
3258    });
3259} catch (exception) {
3260    console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception));
3261}
3262```
3263
3264### setWindowKeepScreenOn<sup>9+</sup>
3265
3266setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
3267
3268设置屏幕是否为常亮状态,使用callback异步回调。
3269
3270**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3271
3272**参数:**
3273
3274| 参数名 | 类型 | 必填 | 说明 |
3275| -------------- | ------------------------- | -- | ---------------------------------------------------- |
3276| isKeepScreenOn | boolean                   | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。  |
3277| callback       | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                            |
3278
3279**错误码:**
3280
3281以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3282
3283| 错误码ID | 错误信息 |
3284| ------- | -------------------------------------------- |
3285| 1300002 | This window state is abnormal.               |
3286| 1300003 | This window manager service works abnormally. |
3287
3288**示例:**
3289
3290```js
3291let isKeepScreenOn = true;
3292try {
3293    windowClass.setWindowKeepScreenOn(isKeepScreenOn, (err) => {
3294        if (err.code) {
3295            console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
3296            return;
3297        }
3298        console.info('Succeeded in setting the screen to be always on.');
3299    });
3300} catch (exception) {
3301    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3302}
3303```
3304
3305### setWindowKeepScreenOn<sup>9+</sup>
3306
3307setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
3308
3309设置屏幕是否为常亮状态,使用Promise异步回调。
3310
3311**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3312
3313**参数:**
3314
3315| 参数名 | 类型 | 必填 | 说明 |
3316| -------------- | ------- | -- | --------------------------------------------------- |
3317| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
3318
3319**返回值:**
3320
3321| 类型 | 说明 |
3322| ------------------- | ------------------------ |
3323| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3324
3325**错误码:**
3326
3327以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3328
3329| 错误码ID | 错误信息 |
3330| ------- | -------------------------------------------- |
3331| 1300002 | This window state is abnormal.               |
3332| 1300003 | This window manager service works abnormally. |
3333
3334**示例:**
3335
3336```js
3337let isKeepScreenOn = true;
3338try {
3339    let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn);
3340    promise.then(() => {
3341        console.info('Succeeded in setting the screen to be always on.');
3342    }).catch((err)=>{
3343        console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
3344    });
3345} catch (exception) {
3346    console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception));
3347}
3348```
3349
3350### setWakeUpScreen()<sup>9+</sup>
3351
3352setWakeUpScreen(wakeUp: boolean): void
3353
3354窗口唤醒屏幕。
3355
3356**系统接口:** 此接口为系统接口。
3357
3358**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3359
3360**参数:**
3361
3362| 参数名           | 类型    | 必填 | 说明                         |
3363| ---------------- | ------- | ---- | ---------------------------- |
3364| wakeUp           | boolean | 是   | 是否设置唤醒屏幕。true表示唤醒;false表示不唤醒。  |
3365
3366**错误码:**
3367
3368以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3369
3370| 错误码ID | 错误信息 |
3371| ------- | -------------------------------------------- |
3372| 1300002 | This window state is abnormal.               |
3373| 1300003 | This window manager service works abnormally. |
3374
3375**示例:**
3376
3377```js
3378let wakeUp = true;
3379try {
3380    windowClass.setWakeUpScreen(wakeUp);
3381} catch (exception) {
3382    console.error('Failed to wake up the screen. Cause: ' + JSON.stringify(exception));
3383}
3384```
3385
3386### setWindowPrivacyMode<sup>9+</sup>
3387
3388setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
3389
3390设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3391
3392**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3393
3394**需要权限:** ohos.permission.PRIVACY_WINDOW
3395
3396**参数:**
3397
3398| 参数名 | 类型 | 必填 | 说明 |
3399| ------------- | ------------------------- | -- | ------------------------------------------------------ |
3400| isPrivacyMode | boolean                   | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。  |
3401| callback      | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                              |
3402
3403**错误码:**
3404
3405以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3406
3407| 错误码ID | 错误信息 |
3408| ------- | ------------------------------ |
3409| 1300002 | This window state is abnormal. |
3410
3411**示例:**
3412
3413```js
3414let isPrivacyMode = true;
3415try {
3416    windowClass.setWindowPrivacyMode(isPrivacyMode, (err) => {
3417        if (err.code) {
3418            console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
3419            return;
3420        }
3421        console.info('Succeeded in setting the window to privacy mode.');
3422    });
3423} catch (exception) {
3424    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3425}
3426```
3427
3428### setWindowPrivacyMode<sup>9+</sup>
3429
3430setWindowPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
3431
3432设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
3433
3434**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3435
3436**需要权限:** ohos.permission.PRIVACY_WINDOW
3437
3438**参数:**
3439
3440| 参数名 | 类型 | 必填 | 说明 |
3441| ------------- | ------- | -- | ----------------------------------------------------- |
3442| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
3443
3444**返回值:**
3445
3446| 类型 | 说明 |
3447| ------------------- | ------------------------ |
3448| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3449
3450**错误码:**
3451
3452以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3453
3454| 错误码ID | 错误信息 |
3455| ------- | ------------------------------ |
3456| 1300002 | This window state is abnormal. |
3457
3458**示例:**
3459
3460```js
3461let isPrivacyMode = true;
3462try {
3463    let promise = windowClass.setWindowPrivacyMode(isPrivacyMode);
3464    promise.then(()=> {
3465        console.info('Succeeded in setting the window to privacy mode.');
3466    }).catch((err)=>{
3467        console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
3468    });
3469} catch (exception) {
3470    console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception));
3471}
3472```
3473
3474### setSnapshotSkip<sup>9+</sup>
3475setSnapshotSkip(isSkip: boolean): void
3476
3477截屏录屏是否忽略当前窗口。
3478
3479**系统接口:** 此接口为系统接口。
3480
3481**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3482
3483**参数:**
3484
3485| 参数名        | 类型    | 必填 | 说明                 |
3486| ------------- | ------- | ---- | -------------------- |
3487| isSkip | boolean | 是   | 截屏录屏是否忽略当前窗口,默认为false。<br>true表示忽略当前窗口,false表示不忽略当前窗口。</br> |
3488
3489**错误码:**
3490
3491以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3492
3493| 错误码ID | 错误信息 |
3494| ------- | ------------------------------ |
3495| 1300002 | This window state is abnormal. |
3496
3497```js
3498let isSkip = true;
3499try {
3500    windowClass.setSnapshotSkip(isSkip);
3501} catch (exception) {
3502    console.error('Failed to Skip. Cause: ' + JSON.stringify(exception));
3503};
3504```
3505
3506### setWindowTouchable<sup>9+</sup>
3507
3508setWindowTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
3509
3510设置窗口是否为可触状态,使用callback异步回调。
3511
3512**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3513
3514**参数:**
3515
3516| 参数名 | 类型 | 必填 | 说明 |
3517| ----------- | ------------------------- | -- | ----------------------------------------------- |
3518| isTouchable | boolean                   | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |
3519| callback    | AsyncCallback&lt;void&gt; | 是 | 回调函数。                                        |
3520
3521**错误码:**
3522
3523以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3524
3525| 错误码ID | 错误信息 |
3526| ------- | -------------------------------------------- |
3527| 1300002 | This window state is abnormal.               |
3528| 1300003 | This window manager service works abnormally. |
3529
3530**示例:**
3531
3532```js
3533let isTouchable = true;
3534try {
3535    windowClass.setWindowTouchable(isTouchable, (err) => {
3536        if (err.code) {
3537            console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
3538            return;
3539        }
3540        console.info('Succeeded in setting the window to be touchable.');
3541    });
3542} catch (exception) {
3543    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3544}
3545```
3546
3547### setWindowTouchable<sup>9+</sup>
3548
3549setWindowTouchable(isTouchable: boolean): Promise&lt;void&gt;
3550
3551设置窗口是否为可触状态,使用Promise异步回调。
3552
3553**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3554
3555**参数:**
3556
3557| 参数名 | 类型 | 必填 | 说明 |
3558| ----------- | ------- | -- | ----------------------------------------------- |
3559| isTouchable | boolean | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 |
3560
3561**返回值:**
3562
3563| 类型 | 说明 |
3564| ------------------- | ------------------------- |
3565| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3566
3567**错误码:**
3568
3569以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3570
3571| 错误码ID | 错误信息 |
3572| ------- | -------------------------------------------- |
3573| 1300002 | This window state is abnormal.               |
3574| 1300003 | This window manager service works abnormally. |
3575
3576**示例:**
3577
3578```js
3579let isTouchable = true;
3580try {
3581    let promise = windowClass.setWindowTouchable(isTouchable);
3582    promise.then(()=> {
3583        console.info('Succeeded in setting the window to be touchable.');
3584    }).catch((err)=>{
3585        console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
3586    });
3587} catch (exception) {
3588    console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception));
3589}
3590```
3591
3592### setForbidSplitMove<sup>9+</sup>
3593
3594setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback&lt;void&gt;): void
3595
3596设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。
3597
3598**系统接口:** 此接口为系统接口。
3599
3600**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3601
3602**参数:**
3603
3604| 参数名      | 类型                      | 必填 | 说明                 |
3605| ----------- | ------------------------- | ---- | -------------------- |
3606| isForbidSplitMove | boolean                   | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
3607| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
3608
3609**错误码:**
3610
3611以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3612
3613| 错误码ID | 错误信息 |
3614| ------- | -------------------------------------------- |
3615| 1300002 | This window state is abnormal.               |
3616| 1300003 | This window manager service works abnormally. |
3617
3618**示例:**
3619
3620```js
3621let isForbidSplitMove = true;
3622try {
3623    windowClass.setForbidSplitMove(isForbidSplitMove, (err) => {
3624        if (err.code) {
3625            console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err));
3626            return;
3627        }
3628        console.info('Succeeded in forbidding window moving in split screen mode.');
3629    });
3630} catch (exception) {
3631    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
3632}
3633```
3634
3635### setForbidSplitMove<sup>9+</sup>
3636
3637setForbidSplitMove(isForbidSplitMove: boolean): Promise&lt;void&gt;
3638
3639设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。
3640
3641**系统接口:** 此接口为系统接口。
3642
3643**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3644
3645**参数:**
3646
3647| 参数名      | 类型    | 必填 | 说明                 |
3648| ----------- | ------- | ---- | -------------------- |
3649| isForbidSplitMove | boolean | 是   | 窗口在分屏模式下是否被禁止移动。true表示禁止;false表示不禁止。 |
3650
3651**返回值:**
3652
3653| 类型                | 说明                      |
3654| ------------------- | ------------------------- |
3655| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
3656
3657**错误码:**
3658
3659以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3660
3661| 错误码ID | 错误信息 |
3662| ------- | -------------------------------------------- |
3663| 1300002 | This window state is abnormal.               |
3664| 1300003 | This window manager service works abnormally. |
3665
3666**示例:**
3667
3668```js
3669let isForbidSplitMove = true;
3670try {
3671    let promise = windowClass.setForbidSplitMove(isForbidSplitMove);
3672    promise.then(()=> {
3673        console.info('Succeeded in forbidding window moving in split screen mode.');
3674    }).catch((err)=>{
3675        console.error('Failed to forbid window moving in split screen mode. Cause: ' + JSON.stringify(err));
3676    });
3677} catch (exception) {
3678    console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception));
3679}
3680```
3681
3682### snapshot<sup>9+</sup>
3683
3684snapshot(callback: AsyncCallback&lt;image.PixelMap&gt;): void
3685
3686获取窗口截图,使用callback异步回调。
3687
3688**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3689
3690**参数:**
3691
3692| 参数名      | 类型                      | 必填 | 说明                 |
3693| ----------- | ------------------------- | ---- | -------------------- |
3694| callback    | AsyncCallback&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | 是   | 回调函数。  |
3695
3696**错误码:**
3697
3698以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3699
3700| 错误码ID | 错误信息 |
3701| ------- | ------------------------------ |
3702| 1300002 | This window state is abnormal. |
3703
3704**示例:**
3705
3706```js
3707windowClass.snapshot((err, pixelMap) => {
3708    if (err.code) {
3709        console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
3710        return;
3711    }
3712    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
3713    pixelMap.release(); // PixelMap使用完后及时释放内存
3714});
3715```
3716
3717### snapshot<sup>9+</sup>
3718
3719snapshot(): Promise&lt;image.PixelMap&gt;
3720
3721获取窗口截图,使用Promise异步回调。
3722
3723**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3724
3725**返回值:**
3726
3727| 类型                | 说明                      |
3728| ------------------- | ------------------------- |
3729| Promise&lt;[image.PixelMap](js-apis-image.md#pixelmap7)&gt; | Promise对象。返回当前窗口截图。 |
3730
3731**错误码:**
3732
3733以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3734
3735| 错误码ID | 错误信息 |
3736| ------- | ------------------------------ |
3737| 1300002 | This window state is abnormal. |
3738
3739**示例:**
3740
3741```js
3742let promise = windowClass.snapshot();
3743promise.then((pixelMap)=> {
3744    console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber());
3745    pixelMap.release(); // PixelMap使用完后及时释放内存
3746}).catch((err)=>{
3747    console.error('Failed to snapshot window. Cause:' + JSON.stringify(err));
3748});
3749```
3750
3751### opacity<sup>9+</sup>
3752
3753opacity(opacity: number): void
3754
3755设置窗口不透明度。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3756
3757**系统接口:** 此接口为系统接口。
3758
3759**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3760
3761**参数:**
3762
3763| 参数名  | 类型   | 必填 | 说明                                                        |
3764| ------- | ------ | ---- | ----------------------------------------------------------- |
3765| opacity | number | 是   | 不透明度,范围0.0~1.0。0.0表示完全透明,1.0表示完全不透明。 |
3766
3767**错误码:**
3768
3769以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3770
3771| 错误码ID | 错误信息 |
3772| ------- | ------------------------------ |
3773| 1300002 | This window state is abnormal. |
3774| 1300004 | Unauthorized operation.  |
3775
3776**示例:**
3777
3778```js
3779try {
3780    windowClass.opacity(0.5);
3781} catch (exception) {
3782    console.error('Failed to opacity. Cause: ' + JSON.stringify(exception));
3783}
3784```
3785
3786### scale<sup>9+</sup>
3787
3788scale(scaleOptions: ScaleOptions): void
3789
3790设置窗口缩放参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3791
3792**系统接口:** 此接口为系统接口。
3793
3794**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3795
3796**参数:**
3797
3798| 参数名       | 类型                           | 必填 | 说明       |
3799| ------------ | ------------------------------ | ---- | ---------- |
3800| scaleOptions | [ScaleOptions](#scaleoptions9) | 是   | 缩放参数。 |
3801
3802**错误码:**
3803
3804以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3805
3806| 错误码ID | 错误信息 |
3807| ------- | ------------------------------ |
3808| 1300002 | This window state is abnormal. |
3809| 1300004 | Unauthorized operation.  |
3810
3811**示例:**
3812
3813```js
3814let obj : window.ScaleOptions = {
3815  x : 2.0,
3816  y : 1.0,
3817  pivotX : 0.5,
3818  pivotY : 0.5
3819};
3820try {
3821    windowClass.scale(obj);
3822} catch (exception) {
3823    console.error('Failed to scale. Cause: ' + JSON.stringify(exception));
3824}
3825```
3826
3827### rotate<sup>9+</sup>
3828
3829rotate(rotateOptions: RotateOptions): void
3830
3831设置窗口旋转参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3832
3833**系统接口:** 此接口为系统接口。
3834
3835**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3836
3837**参数:**
3838
3839| 参数名        | 类型                             | 必填 | 说明       |
3840| ------------- | -------------------------------- | ---- | ---------- |
3841| rotateOptions | [RotateOptions](#rotateoptions9) | 是   | 旋转参数。 |
3842
3843**错误码:**
3844
3845以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3846
3847| 错误码ID | 错误信息 |
3848| ------- | ------------------------------ |
3849| 1300002 | This window state is abnormal. |
3850| 1300004 | Unauthorized operation.  |
3851
3852**示例:**
3853
3854```js
3855let obj : window.RotateOptions = {
3856  x : 1.0,
3857  y : 1.0,
3858  z : 45.0,
3859  pivotX : 0.5,
3860  pivotY : 0.5
3861};
3862try {
3863    windowClass.rotate(obj);
3864} catch (exception) {
3865    console.error('Failed to rotate. Cause: ' + JSON.stringify(exception));
3866}
3867```
3868
3869### translate<sup>9+</sup>
3870
3871translate(translateOptions: TranslateOptions): void
3872
3873设置窗口平移参数。仅支持在[自定义系统窗口的显示与隐藏动画](../../windowmanager/system-window-stage.md#自定义系统窗口的显示与隐藏动画)中使用。
3874
3875**系统接口:** 此接口为系统接口。
3876
3877**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3878
3879**参数:**
3880
3881| 参数名           | 类型                                   | 必填 | 说明                 |
3882| ---------------- | -------------------------------------- | ---- | -------------------- |
3883| translateOptions | [TranslateOptions](#translateoptions9) | 是   | 平移参数,单位为px。 |
3884
3885**错误码:**
3886
3887以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3888
3889| 错误码ID | 错误信息 |
3890| ------- | ------------------------------ |
3891| 1300002 | This window state is abnormal. |
3892| 1300004 | Unauthorized operation.  |
3893
3894**示例:**
3895
3896```js
3897let obj : window.TranslateOptions = {
3898  x : 100.0,
3899  y : 0.0,
3900  z : 0.0
3901};
3902try {
3903    windowClass.translate(obj);
3904} catch (exception) {
3905    console.error('Failed to translate. Cause: ' + JSON.stringify(exception));
3906}
3907```
3908
3909###  getTransitionController<sup>9+</sup>
3910
3911 getTransitionController(): TransitionController
3912
3913获取窗口属性转换控制器。
3914
3915**系统接口:** 此接口为系统接口。
3916
3917**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3918
3919**返回值:**
3920
3921| 类型                                           | 说明             |
3922| ---------------------------------------------- | ---------------- |
3923| [TransitionController](#transitioncontroller9) | 属性转换控制器。 |
3924
3925**错误码:**
3926
3927以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3928
3929| 错误码ID | 错误信息 |
3930| ------- | ------------------------------ |
3931| 1300002 | This window state is abnormal. |
3932| 1300004 | Unauthorized operation.  |
3933
3934**示例:**
3935
3936```js
3937let controller = windowClass.getTransitionController(); // 获取属性转换控制器
3938controller.animationForHidden = (context : window.TransitionContext) => {
3939	let toWindow = context.toWindow;
3940 	animateTo({
3941    	duration: 1000, // 动画时长
3942        tempo: 0.5, // 播放速率
3943        curve: Curve.EaseInOut, // 动画曲线
3944        delay: 0, // 动画延迟
3945        iterations: 1, // 播放次数
3946        playMode: PlayMode.Normal, // 动画模式
3947        onFinish: ()=> {
3948            context.completeTransition(true)
3949        }
3950      }, () => {
3951        let obj : window.TranslateOptions = {
3952          x : 100.0,
3953          y : 0.0,
3954          z : 0.0
3955        };
3956        toWindow.translate(obj); // 设置动画过程中的属性转换
3957        console.info('toWindow translate end');
3958      }
3959    );
3960    console.info('complete transition end');
3961};
3962windowClass.hideWithAnimation((err, data) => {
3963    if (err.code) {
3964        console.error('Failed to show the window with animation. Cause: ' + JSON.stringify(err));
3965        return;
3966    }
3967    console.info('Succeeded in showing the window with animation. Data: ' + JSON.stringify(data));
3968});
3969```
3970
3971### setBlur<sup>9+</sup>
3972
3973setBlur(radius: number): void
3974
3975设置窗口模糊。
3976
3977**系统接口:** 此接口为系统接口。
3978
3979**系统能力:** SystemCapability.WindowManager.WindowManager.Core
3980
3981**参数:**
3982
3983| 参数名 | 类型   | 必填 | 说明                                                         |
3984| ------ | ------ | ---- | ------------------------------------------------------------ |
3985| radius | number | 是   | 表示窗口模糊的半径值,取值范围为大于等于0,0表示关闭窗口模糊。 |
3986
3987**错误码:**
3988
3989以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
3990
3991| 错误码ID | 错误信息 |
3992| ------- | ------------------------------ |
3993| 1300002 | This window state is abnormal. |
3994| 1300004 | Unauthorized operation.  |
3995
3996**示例:**
3997
3998```js
3999try {
4000    windowClass.setBlur(4.0);
4001} catch (exception) {
4002    console.error('Failed to set blur. Cause: ' + JSON.stringify(exception));
4003}
4004```
4005
4006### setBackdropBlur<sup>9+</sup>
4007
4008setBackdropBlur(radius: number): void
4009
4010设置窗口背景模糊。
4011
4012**系统接口:** 此接口为系统接口。
4013
4014**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4015
4016**参数:**
4017
4018| 参数名 | 类型   | 必填 | 说明                                                         |
4019| ------ | ------ | ---- | ------------------------------------------------------------ |
4020| radius | number | 是   | 表示窗口背景模糊的半径值,取值范围为大于等于0,0表示关闭窗口背景模糊。 |
4021
4022**错误码:**
4023
4024以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4025
4026| 错误码ID | 错误信息 |
4027| ------- | ------------------------------ |
4028| 1300002 | This window state is abnormal. |
4029| 1300004 | Unauthorized operation.  |
4030
4031**示例:**
4032
4033```js
4034try {
4035    windowClass.setBackdropBlur(4.0);
4036} catch (exception) {
4037    console.error('Failed to set backdrop blur. Cause: ' + JSON.stringify(exception));
4038}
4039```
4040
4041### setBackdropBlurStyle<sup>9+</sup>
4042
4043setBackdropBlurStyle(blurStyle: BlurStyle): void
4044
4045设置窗口背景模糊类型。
4046
4047**系统接口:** 此接口为系统接口。
4048
4049**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4050
4051**参数:**
4052
4053| 参数名    | 类型      | 必填 | 说明                   |
4054| --------- | --------- | ---- | ---------------------- |
4055| blurStyle | [BlurStyle](#blurstyle9) | 是   | 表示窗口背景模糊类型。 |
4056
4057**错误码:**
4058
4059以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4060
4061| 错误码ID | 错误信息 |
4062| ------- | ------------------------------ |
4063| 1300002 | This window state is abnormal. |
4064| 1300004 | Unauthorized operation.  |
4065
4066**示例:**
4067
4068```js
4069try {
4070    windowClass.setBackdropBlurStyle(window.BlurStyle.THIN);
4071} catch (exception) {
4072    console.error('Failed to set backdrop blur style. Cause: ' + JSON.stringify(exception));
4073}
4074```
4075
4076### setShadow<sup>9+</sup>
4077
4078setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void
4079
4080设置窗口边缘阴影。
4081
4082**系统接口:** 此接口为系统接口。
4083
4084**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4085
4086**参数:**
4087
4088| 参数名  | 类型   | 必填 | 说明                                                         |
4089| ------- | ------ | ---- | ------------------------------------------------------------ |
4090| radius  | number | 是   | 表示窗口边缘阴影的模糊半径,取值范围为大于等于0,0表示关闭窗口边缘阴影。 |
4091| color   | string | 否   | 表示窗口边缘阴影的颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
4092| offsetX | number | 否   | 表示窗口边缘阴影的X轴的偏移量,单位为px。                    |
4093| offsetY | number | 否   | 表示窗口边缘阴影的Y轴的偏移量,单位为px。                    |
4094
4095**错误码:**
4096
4097以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4098
4099| 错误码ID | 错误信息 |
4100| ------- | ------------------------------ |
4101| 1300002 | This window state is abnormal. |
4102| 1300004 | Unauthorized operation.  |
4103
4104**示例:**
4105
4106```js
4107try {
4108    windowClass.setShadow(4.0, '#FF00FF00', 2, 3);
4109} catch (exception) {
4110    console.error('Failed to set shadow. Cause: ' + JSON.stringify(exception));
4111}
4112```
4113
4114### setCornerRadius<sup>9+</sup>
4115
4116setCornerRadius(cornerRadius: number): void
4117
4118设置窗口圆角半径。
4119
4120**系统接口:** 此接口为系统接口。
4121
4122**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4123
4124**参数:**
4125
4126| 参数名      | 类型    | 必填 | 说明                 |
4127| ----------- | ------- | ---- | -------------------- |
4128| radius | number | 是   | 表示窗口圆角的半径值,取值范围为大于等于0,0表示没有窗口圆角。 |
4129
4130**错误码:**
4131
4132以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
4133
4134| 错误码ID | 错误信息 |
4135| ------- | ------------------------------ |
4136| 1300002 | This window state is abnormal. |
4137| 1300004 | Unauthorized operation.  |
4138
4139**示例:**
4140
4141```js
4142try {
4143    windowClass.setCornerRadius(4.0);
4144} catch (exception) {
4145    console.error('Failed to set corner radius. Cause: ' + JSON.stringify(exception));
4146}
4147```
4148
4149### show<sup>(deprecated)</sup>
4150
4151show(callback: AsyncCallback&lt;void&gt;): void
4152
4153显示当前窗口,使用callback异步回调。
4154
4155> **说明:**
4156>
4157> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9)。
4158
4159**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4160
4161**参数:**
4162
4163| 参数名   | 类型                      | 必填 | 说明       |
4164| -------- | ------------------------- | ---- | ---------- |
4165| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4166
4167**示例:**
4168
4169```js
4170windowClass.show((err) => {
4171    if (err.code) {
4172        console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
4173        return;
4174    }
4175    console.info('Succeeded in showing the window.');
4176});
4177```
4178
4179### show<sup>(deprecated)</sup>
4180
4181show(): Promise&lt;void&gt;
4182
4183显示当前窗口,使用Promise异步回调。
4184
4185> **说明:**
4186>
4187> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9-1)。
4188
4189**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4190
4191**返回值:**
4192
4193| 类型                | 说明                      |
4194| ------------------- | ------------------------- |
4195| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4196
4197**示例:**
4198
4199```js
4200let promise = windowClass.show();
4201promise.then(()=> {
4202    console.info('Succeeded in showing the window.');
4203}).catch((err)=>{
4204    console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
4205});
4206```
4207
4208### destroy<sup>(deprecated)</sup>
4209
4210destroy(callback: AsyncCallback&lt;void&gt;): void
4211
4212销毁当前窗口,使用callback异步回调。
4213
4214> **说明:**
4215>
4216> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9)。
4217
4218**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4219
4220**参数:**
4221
4222| 参数名   | 类型                      | 必填 | 说明       |
4223| -------- | ------------------------- | ---- | ---------- |
4224| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4225
4226**示例:**
4227
4228```js
4229windowClass.destroy((err) => {
4230    if (err.code) {
4231        console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
4232        return;
4233    }
4234    console.info('Succeeded in destroying the window.');
4235});
4236```
4237
4238### destroy<sup>(deprecated)</sup>
4239
4240destroy(): Promise&lt;void&gt;
4241
4242销毁当前窗口,使用Promise异步回调。
4243
4244> **说明:**
4245>
4246> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9-1)。
4247
4248**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4249
4250**返回值:**
4251
4252| 类型                | 说明                      |
4253| ------------------- | ------------------------- |
4254| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4255
4256**示例:**
4257
4258```js
4259let promise = windowClass.destroy();
4260promise.then(()=> {
4261    console.info('Succeeded in destroying the window.');
4262}).catch((err)=>{
4263    console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
4264});
4265```
4266
4267### moveTo<sup>(deprecated)</sup>
4268
4269moveTo(x: number, y: number, callback: AsyncCallback&lt;void&gt;): void
4270
4271移动窗口位置,使用callback异步回调。
4272
4273全屏模式窗口不支持该操作。
4274
4275> **说明:**
4276>
4277> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9)。
4278
4279**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4280
4281**参数:**
4282
4283| 参数名   | 类型                      | 必填 | 说明                                              |
4284| -------- | ------------------------- | ---- | ------------------------------------------------- |
4285| x        | number                    | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
4286| y        | number                    | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
4287| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                        |
4288
4289**示例:**
4290
4291```js
4292windowClass.moveTo(300, 300, (err)=>{
4293    if (err.code) {
4294        console.error('Failed to move the window. Cause:' + JSON.stringify(err));
4295        return;
4296    }
4297    console.info('Succeeded in moving the window.');
4298});
4299```
4300
4301### moveTo<sup>(deprecated)</sup>
4302
4303moveTo(x: number, y: number): Promise&lt;void&gt;
4304
4305移动窗口位置,使用Promise异步回调。
4306
4307全屏模式窗口不支持该操作。
4308
4309> **说明:**
4310>
4311> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowto9-1)。
4312
4313**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4314
4315**参数:**
4316
4317| 参数名 | 类型   | 必填 | 说明                                              |
4318| ------ | ------ | ---- | ------------------------------------------------- |
4319| x      | number | 是   | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 |
4320| y      | number | 是   | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 |
4321
4322**返回值:**
4323
4324| 类型                | 说明                      |
4325| ------------------- | ------------------------- |
4326| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4327
4328**示例:**
4329
4330```js
4331let promise = windowClass.moveTo(300, 300);
4332promise.then(()=> {
4333    console.info('Succeeded in moving the window.');
4334}).catch((err)=>{
4335    console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
4336});
4337```
4338
4339### resetSize<sup>(deprecated)</sup>
4340
4341resetSize(width: number, height: number, callback: AsyncCallback&lt;void&gt;): void
4342
4343改变当前窗口大小,使用callback异步回调。
4344
4345应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
4346
4347系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
4348
4349设置的宽度与高度受到此约束限制。
4350
4351全屏模式窗口不支持该操作。
4352
4353> **说明:**
4354>
4355> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9)。
4356
4357**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4358
4359**参数:**
4360
4361| 参数名   | 类型                      | 必填 | 说明                       |
4362| -------- | ------------------------- | ---- | -------------------------- |
4363| width    | number                    | 是   | 目标窗口的宽度,单位为px。 |
4364| height   | number                    | 是   | 目标窗口的高度,单位为px。 |
4365| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                 |
4366
4367**示例:**
4368
4369```js
4370windowClass.resetSize(500, 1000, (err) => {
4371    if (err.code) {
4372        console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
4373        return;
4374    }
4375    console.info('Succeeded in changing the window size.');
4376});
4377```
4378
4379### resetSize<sup>(deprecated)</sup>
4380
4381resetSize(width: number, height: number): Promise&lt;void&gt;
4382
4383改变当前窗口大小,使用Promise异步回调。
4384
4385应用主窗口与子窗口存在大小限制,宽度范围:[320, 2560],高度范围:[240, 2560],单位为vp。
4386
4387系统窗口存在大小限制,宽度范围:[0, 2560],高度范围:[0, 2560],单位为vp。
4388
4389设置的宽度与高度受到此约束限制。
4390
4391全屏模式窗口不支持该操作。
4392
4393> **说明:**
4394>
4395> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9-1)。
4396
4397**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4398
4399**参数:**
4400
4401| 参数名 | 类型   | 必填 | 说明                       |
4402| ------ | ------ | ---- | -------------------------- |
4403| width  | number | 是   | 目标窗口的宽度,单位为px。 |
4404| height | number | 是   | 目标窗口的高度,单位为px。 |
4405
4406**返回值:**
4407
4408| 类型                | 说明                      |
4409| ------------------- | ------------------------- |
4410| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4411
4412**示例:**
4413
4414```js
4415let promise = windowClass.resetSize(500, 1000);
4416promise.then(()=> {
4417    console.info('Succeeded in changing the window size.');
4418}).catch((err)=>{
4419    console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
4420});
4421```
4422
4423### setWindowType<sup>(deprecated)</sup>
4424
4425setWindowType(type: WindowType, callback: AsyncCallback&lt;void&gt;): void
4426
4427设置窗口类型,使用callback异步回调。
4428
4429**系统接口:** 此接口为系统接口。
4430
4431> **说明:**
4432>
4433> 从 API version 7开始支持,从API version 9开始废弃。
4434
4435**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4436
4437**参数:**
4438
4439| 参数名   | 类型                      | 必填 | 说明       |
4440| -------- | ------------------------- | ---- | ---------- |
4441| type     | [WindowType](#windowtype7) | 是   | 窗口类型。 |
4442| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。 |
4443
4444**示例:**
4445
4446```js
4447let type = window.WindowType.TYPE_APP;
4448windowClass.setWindowType(type, (err) => {
4449  if (err.code) {
4450      console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
4451      return;
4452  }
4453  console.info('Succeeded in setting the window type.');
4454});
4455```
4456
4457### setWindowType<sup>(deprecated)</sup>
4458
4459setWindowType(type: WindowType): Promise&lt;void&gt;
4460
4461设置窗口类型,使用Promise异步回调。
4462
4463**系统接口:** 此接口为系统接口。
4464
4465> **说明:**
4466>
4467> 从 API version 7开始支持,从API version 9开始废弃。
4468
4469**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4470
4471**参数:**
4472
4473| 参数名 | 类型                      | 必填 | 说明       |
4474| ------ | ------------------------- | ---- | ---------- |
4475| type   | [WindowType](#windowtype7) | 是   | 窗口类型。 |
4476
4477**返回值:**
4478
4479| 类型                | 说明                      |
4480| ------------------- | ------------------------- |
4481| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4482
4483**示例:**
4484
4485```js
4486let type = window.WindowType.TYPE_APP;
4487let promise = windowClass.setWindowType(type);
4488promise.then(()=> {
4489    console.info('Succeeded in setting the window type.');
4490}).catch((err)=>{
4491    console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
4492});
4493```
4494
4495### getProperties<sup>(deprecated)</sup>
4496
4497getProperties(callback: AsyncCallback&lt;WindowProperties&gt;): void
4498
4499获取当前窗口的属性,使用callback异步回调,返回WindowProperties。
4500
4501> **说明:**
4502>
4503> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
4504
4505**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4506
4507**参数:**
4508
4509| 参数名   | 类型                                                       | 必填 | 说明                         |
4510| -------- | ---------------------------------------------------------- | ---- | ---------------------------- |
4511| callback | AsyncCallback&lt;[WindowProperties](#windowproperties)&gt; | 是   | 回调函数。返回当前窗口属性。 |
4512
4513**示例:**
4514
4515```js
4516windowClass.getProperties((err, data) => {
4517    if (err.code) {
4518        console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
4519        return;
4520    }
4521    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
4522});
4523```
4524
4525### getProperties<sup>(deprecated)</sup>
4526
4527getProperties(): Promise&lt;WindowProperties&gt;
4528
4529获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。
4530
4531> **说明:**
4532>
4533> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。
4534
4535**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4536
4537**返回值:**
4538
4539| 类型                                                 | 说明                            |
4540| ---------------------------------------------------- | ------------------------------- |
4541| Promise&lt;[WindowProperties](#windowproperties)&gt; | Promise对象。返回当前窗口属性。 |
4542
4543**示例:**
4544
4545```js
4546let promise = windowClass.getProperties();
4547promise.then((data)=> {
4548    console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
4549}).catch((err)=>{
4550    console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
4551});
4552```
4553
4554### getAvoidArea<sup>(deprecated)</sup>
4555
4556getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt;): void
4557
4558获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
4559
4560> **说明:**
4561>
4562> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
4563
4564**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4565
4566**参数:**
4567
4568| 参数名   | 类型                                            | 必填 | 说明                                                         |
4569| -------- |-----------------------------------------------| ---- | ------------------------------------------------------------ |
4570| type     | [AvoidAreaType](#avoidareatype7)              | 是   | 表示规避区类型。 |
4571| callback | AsyncCallback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回窗口内容规避区域。                             |
4572
4573**示例:**
4574
4575```js
4576let type = window.AvoidAreaType.TYPE_SYSTEM;
4577windowClass.getAvoidArea(type, (err, data) => {
4578    if (err.code) {
4579        console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
4580        return;
4581    }
4582    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
4583});
4584```
4585
4586### getAvoidArea<sup>(deprecated)</sup>
4587
4588getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise&lt;[AvoidArea](#avoidarea7)&gt;
4589
4590获取窗口内容规避的区域;如系统栏区域、刘海屏区域、手势区域、软键盘区域等与窗口内容重叠时,需要窗口内容避让的区域。
4591
4592> **说明:**
4593>
4594> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。
4595
4596**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4597
4598**参数:**
4599
4600| 参数名 | 类型                               | 必填 | 说明                                                         |
4601| ------ |----------------------------------| ---- | ------------------------------------------------------------ |
4602| type   | [AvoidAreaType](#avoidareatype7) | 是   | 表示规避区类型。|
4603
4604**返回值:**
4605
4606| 类型                                      | 说明                                |
4607|-----------------------------------------| ----------------------------------- |
4608| Promise&lt;[AvoidArea](#avoidarea7)&gt; | Promise对象。返回窗口内容规避区域。 |
4609
4610**示例:**
4611
4612```js
4613let type = window.AvoidAreaType.TYPE_SYSTEM;
4614let promise = windowClass.getAvoidArea(type);
4615promise.then((data)=> {
4616    console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
4617}).catch((err)=>{
4618    console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
4619});
4620```
4621
4622### setFullScreen<sup>(deprecated)</sup>
4623
4624setFullScreen(isFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
4625
4626设置是否为全屏状态,使用callback异步回调。
4627
4628> **说明:**
4629>
4630> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
4631
4632**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4633
4634**参数:**
4635
4636| 参数名       | 类型                      | 必填 | 说明                                           |
4637| ------------ | ------------------------- | ---- | ---------------------------------------------- |
4638| isFullScreen | boolean                   | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
4639| callback     | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                     |
4640
4641**示例:**
4642
4643```js
4644let isFullScreen = true;
4645windowClass.setFullScreen(isFullScreen, (err) => {
4646    if (err.code) {
4647        console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
4648        return;
4649    }
4650    console.info('Succeeded in enabling the full-screen mode.');
4651});
4652```
4653
4654### setFullScreen<sup>(deprecated)</sup>
4655
4656setFullScreen(isFullScreen: boolean): Promise&lt;void&gt;
4657
4658设置是否为全屏状态,使用Promise异步回调。
4659
4660> **说明:**
4661>
4662> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
4663
4664**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4665
4666**参数:**
4667
4668| 参数名       | 类型    | 必填 | 说明                                           |
4669| ------------ | ------- | ---- | ---------------------------------------------- |
4670| isFullScreen | boolean | 是   | 是否设为全屏状态(该全屏状态隐藏状态栏导航栏)。true表示全屏;false表示非全屏。 |
4671
4672**返回值:**
4673
4674| 类型                | 说明                      |
4675| ------------------- | ------------------------- |
4676| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4677
4678**示例:**
4679
4680```js
4681let isFullScreen = true;
4682let promise = windowClass.setFullScreen(isFullScreen);
4683promise.then(()=> {
4684    console.info('Succeeded in enabling the full-screen mode.');
4685}).catch((err)=>{
4686    console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
4687});
4688```
4689
4690### setLayoutFullScreen<sup>(deprecated)</sup>
4691
4692setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback&lt;void&gt;): void
4693
4694设置窗口的布局是否为全屏显示状态,使用callback异步回调。
4695
4696> **说明:**
4697>
4698> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)。
4699
4700**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4701
4702**参数:**
4703
4704| 参数名             | 类型                      | 必填 | 说明                                                         |
4705| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
4706| isLayoutFullScreen | boolean                   | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
4707| callback           | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
4708
4709**示例:**
4710
4711```js
4712let isLayoutFullScreen= true;
4713windowClass.setLayoutFullScreen(isLayoutFullScreen, (err) => {
4714    if (err.code) {
4715        console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
4716        return;
4717    }
4718    console.info('Succeeded in setting the window layout to full-screen mode.');
4719});
4720```
4721
4722### setLayoutFullScreen<sup>(deprecated)</sup>
4723
4724setLayoutFullScreen(isLayoutFullScreen: boolean): Promise&lt;void&gt;
4725
4726设置窗口的布局是否为全屏显示状态,使用Promise异步回调。
4727
4728> **说明:**
4729>
4730> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)。
4731
4732**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4733
4734**参数:**
4735
4736| 参数名             | 类型    | 必填 | 说明                                                         |
4737| ------------------ | ------- | ---- | ------------------------------------------------------------ |
4738| isLayoutFullScreen | boolean | 是   | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏;false表示非全屏。 |
4739
4740**返回值:**
4741
4742| 类型                | 说明                      |
4743| ------------------- | ------------------------- |
4744| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4745
4746**示例:**
4747
4748```js
4749let isLayoutFullScreen = true;
4750let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
4751promise.then(()=> {
4752    console.info('Succeeded in setting the window layout to full-screen mode.');
4753}).catch((err)=>{
4754    console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
4755});
4756```
4757
4758### setSystemBarEnable<sup>(deprecated)</sup>
4759
4760setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback&lt;void&gt;): void
4761
4762设置导航栏、状态栏的可见模式,使用callback异步回调。
4763
4764> **说明:**
4765>
4766> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。
4767
4768**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4769
4770**参数:**
4771
4772| 参数名   | 类型                      | 必填 | 说明                                                         |
4773| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
4774| names    | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
4775| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
4776
4777**示例:**
4778
4779```js
4780// 此处以不显示导航栏、状态栏为例
4781let names = [];
4782windowClass.setSystemBarEnable(names, (err) => {
4783    if (err.code) {
4784        console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
4785        return;
4786    }
4787    console.info('Succeeded in setting the system bar to be invisible.');
4788});
4789```
4790
4791### setSystemBarEnable<sup>(deprecated)</sup>
4792
4793setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise&lt;void&gt;
4794
4795设置导航栏、状态栏的可见模式,使用Promise异步回调。
4796
4797> **说明:**
4798>
4799> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。
4800
4801**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4802
4803**参数:**
4804
4805| 参数名 | 类型  | 必填 | 说明                                                         |
4806| ------ | ---------------------------- | ---- | ------------------------ |
4807| names  | Array<'status'\|'navigation'> | 是   | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status',&nbsp;'navigation'];不设置,则默认不显示。 |
4808
4809**返回值:**
4810
4811| 类型                | 说明                      |
4812| ------------------- | ------------------------- |
4813| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4814
4815**示例:**
4816
4817```js
4818// 此处以不显示导航栏、状态栏为例
4819let names = [];
4820let promise = windowClass.setSystemBarEnable(names);
4821promise.then(()=> {
4822    console.info('Succeeded in setting the system bar to be invisible.');
4823}).catch((err)=>{
4824    console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err));
4825});
4826```
4827
4828### setSystemBarProperties<sup>(deprecated)</sup>
4829
4830setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback&lt;void&gt;): void
4831
4832设置窗口内导航栏、状态栏的属性,使用callback异步回调。
4833
4834> **说明:**
4835>
4836> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9)。
4837
4838**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4839
4840**参数:**
4841
4842| 参数名              | 类型                                        | 必填 | 说明                   |
4843| ------------------- | ------------------------------------------- | ---- | ---------------------- |
4844| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
4845| callback            | AsyncCallback&lt;void&gt;                   | 是   | 回调函数。             |
4846
4847**示例:**
4848
4849```js
4850let SystemBarProperties={
4851    statusBarColor: '#ff00ff',
4852    navigationBarColor: '#00ff00',
4853    //以下两个属性从API Version8开始支持
4854    statusBarContentColor:'#ffffff',
4855    navigationBarContentColor:'#00ffff'
4856};
4857windowClass.setSystemBarProperties(SystemBarProperties, (err) => {
4858    if (err.code) {
4859        console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
4860        return;
4861    }
4862    console.info('Succeeded in setting the system bar properties.');
4863});
4864```
4865
4866### setSystemBarProperties<sup>(deprecated)</sup>
4867
4868setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise&lt;void&gt;
4869
4870设置窗口内导航栏、状态栏的属性,使用Promise异步回调。
4871
4872> **说明:**
4873>
4874> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9-1)。
4875
4876**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4877
4878**参数:**
4879
4880| 参数名              | 类型                                        | 必填 | 说明                   |
4881| ------------------- | ------------------------------------------- | ---- | ---------------------- |
4882| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是   | 导航栏、状态栏的属性。 |
4883
4884**返回值:**
4885
4886| 类型                | 说明                      |
4887| ------------------- | ------------------------- |
4888| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4889
4890**示例:**
4891
4892```js
4893let SystemBarProperties={
4894    statusBarColor: '#ff00ff',
4895    navigationBarColor: '#00ff00',
4896    //以下两个属性从API Version8开始支持
4897    statusBarContentColor:'#ffffff',
4898    navigationBarContentColor:'#00ffff'
4899};
4900let promise = windowClass.setSystemBarProperties(SystemBarProperties);
4901promise.then(()=> {
4902    console.info('Succeeded in setting the system bar properties.');
4903}).catch((err)=>{
4904    console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
4905});
4906```
4907
4908### loadContent<sup>(deprecated)</sup>
4909
4910loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
4911
4912为当前窗口加载具体页面内容,使用callback异步回调。
4913
4914> **说明:**
4915>
4916> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9)。
4917
4918**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4919
4920**参数:**
4921
4922| 参数名   | 类型                      | 必填 | 说明                 |
4923| -------- | ------------------------- | ---- | -------------------- |
4924| path     | string                    | 是   | 设置加载页面的路径。 |
4925| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
4926
4927**示例:**
4928
4929```js
4930windowClass.loadContent('pages/page2/page2', (err) => {
4931   if (err.code) {
4932         console.error('Failed to load the content. Cause:' + JSON.stringify(err));
4933         return;
4934   }
4935  console.info('Succeeded in loading the content.');
4936});
4937```
4938
4939### loadContent<sup>(deprecated)</sup>
4940
4941loadContent(path: string): Promise&lt;void&gt;
4942
4943为当前窗口加载具体页面内容,使用Promise异步回调。
4944
4945> **说明:**
4946>
4947> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9-1)。
4948
4949**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4950
4951**参数:**
4952
4953| 参数名 | 类型   | 必填 | 说明                 |
4954| ------ | ------ | ---- | -------------------- |
4955| path   | string | 是   | 设置加载页面的路径。 |
4956
4957**返回值:**
4958
4959| 类型                | 说明                      |
4960| ------------------- | ------------------------- |
4961| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
4962
4963**示例:**
4964
4965```js
4966let promise = windowClass.loadContent('pages/page2/page2');
4967promise.then(()=> {
4968    console.info('Succeeded in loading the content.');
4969}).catch((err)=>{
4970    console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
4971});
4972```
4973
4974### isShowing<sup>(deprecated)</sup>
4975
4976isShowing(callback: AsyncCallback&lt;boolean&gt;): void
4977
4978判断当前窗口是否已显示,使用callback异步回调。
4979
4980> **说明:**
4981>
4982> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
4983
4984**系统能力:** SystemCapability.WindowManager.WindowManager.Core
4985
4986**参数:**
4987
4988| 参数名   | 类型                         | 必填 | 说明                                                         |
4989| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
4990| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
4991
4992**示例:**
4993
4994```js
4995windowClass.isShowing((err, data) => {
4996    if (err.code) {
4997        console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
4998        return;
4999    }
5000    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
5001});
5002```
5003
5004### isShowing<sup>(deprecated)</sup>
5005
5006isShowing(): Promise&lt;boolean&gt;
5007
5008判断当前窗口是否已显示,使用Promise异步回调。
5009
5010> **说明:**
5011>
5012> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。
5013
5014**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5015
5016**返回值:**
5017
5018| 类型                   | 说明                                                         |
5019| ---------------------- | ------------------------------------------------------------ |
5020| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口已显示,返回false表示当前窗口未显示。 |
5021
5022**示例:**
5023
5024```js
5025let promise = windowClass.isShowing();
5026promise.then((data)=> {
5027    console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
5028}).catch((err)=>{
5029    console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
5030});
5031```
5032
5033### on('systemAvoidAreaChange')<sup>(deprecated)</sup>
5034
5035on(type: 'systemAvoidAreaChange', callback: Callback&lt;AvoidArea&gt;): void
5036
5037开启系统规避区变化的监听。
5038
5039> **说明:**
5040>
5041> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[on('avoidAreaChange')](#onavoidareachange9)。
5042
5043**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5044
5045**参数:**
5046
5047| 参数名   | 类型                                       | 必填 | 说明                                                    |
5048| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
5049| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
5050| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 是   | 回调函数。返回当前规避区。                             |
5051
5052**示例:**
5053
5054```js
5055windowClass.on('systemAvoidAreaChange', (data) => {
5056    console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
5057});
5058```
5059
5060### off('systemAvoidAreaChange')<sup>(deprecated)</sup>
5061
5062off(type: 'systemAvoidAreaChange', callback?: Callback&lt;AvoidArea&gt;): void
5063
5064关闭系统规避区变化的监听。
5065
5066> **说明:**
5067>
5068> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[off('avoidAreaChange')](#offavoidareachange9)。
5069
5070**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5071
5072**参数:**
5073
5074| 参数名   | 类型                                       | 必填 | 说明                                                    |
5075| -------- |------------------------------------------| ---- | ------------------------------------------------------- |
5076| type     | string                                   | 是   | 监听事件,固定为'systemAvoidAreaChange',即系统规避区变化事件。 |
5077| callback | Callback&lt;[AvoidArea](#avoidarea7)&gt; | 否   | 回调函数。返回当前规避区。                            |
5078
5079**示例:**
5080
5081```js
5082windowClass.off('systemAvoidAreaChange');
5083```
5084
5085### isSupportWideGamut<sup>(deprecated)</sup>
5086
5087isSupportWideGamut(callback: AsyncCallback&lt;boolean&gt;): void
5088
5089判断当前窗口是否支持广色域模式,使用callback异步回调。
5090
5091> **说明:**
5092>
5093> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9)。
5094
5095**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5096
5097**参数:**
5098
5099| 参数名   | 类型                         | 必填 | 说明                                                         |
5100| -------- | ---------------------------- | ---- | ------------------------------------------------------------ |
5101| callback | AsyncCallback&lt;boolean&gt; | 是   | 回调函数。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
5102
5103**示例:**
5104
5105```js
5106windowClass.isSupportWideGamut((err, data) => {
5107    if (err.code) {
5108        console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
5109        return;
5110    }
5111    console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
5112});
5113```
5114
5115### isSupportWideGamut<sup>(deprecated)</sup>
5116
5117isSupportWideGamut(): Promise&lt;boolean&gt;
5118
5119判断当前窗口是否支持广色域模式,使用Promise异步回调。
5120
5121> **说明:**
5122>
5123> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9-1)。
5124
5125**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5126
5127**返回值:**
5128
5129| 类型                   | 说明                                                         |
5130| ---------------------- | ------------------------------------------------------------ |
5131| Promise&lt;boolean&gt; | Promise对象。返回true表示当前窗口支持广色域模式,返回false表示当前窗口不支持广色域模式。 |
5132
5133**示例:**
5134
5135```js
5136let promise = windowClass.isSupportWideGamut();
5137promise.then((data)=> {
5138    console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
5139}).catch((err)=>{
5140    console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
5141});
5142```
5143
5144### setColorSpace<sup>(deprecated)</sup>
5145
5146setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback&lt;void&gt;): void
5147
5148设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。
5149
5150> **说明:**
5151>
5152> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9)。
5153
5154**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5155
5156**参数:**
5157
5158| 参数名     | 类型                      | 必填 | 说明         |
5159| ---------- | ------------------------- | ---- | ------------ |
5160| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
5161| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。   |
5162
5163**示例:**
5164
5165```js
5166windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err) => {
5167    if (err.code) {
5168        console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
5169        return;
5170    }
5171    console.info('Succeeded in setting window colorspace.');
5172});
5173```
5174
5175### setColorSpace<sup>(deprecated)</sup>
5176
5177setColorSpace(colorSpace:ColorSpace): Promise&lt;void&gt;
5178
5179设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。
5180
5181> **说明:**
5182>
5183> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9-1)。
5184
5185**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5186
5187**参数:**
5188
5189| 参数名     | 类型                      | 必填 | 说明           |
5190| ---------- | ------------------------- | ---- | -------------- |
5191| colorSpace | [ColorSpace](#colorspace8) | 是   | 设置色域模式。 |
5192
5193**返回值:**
5194
5195| 类型                | 说明                      |
5196| ------------------- | ------------------------- |
5197| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5198
5199**示例:**
5200
5201```js
5202let promise = windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT);
5203promise.then(()=> {
5204    console.info('Succeeded in setting window colorspace.');
5205}).catch((err)=>{
5206    console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err));
5207});
5208```
5209
5210### getColorSpace<sup>(deprecated)</sup>
5211
5212getColorSpace(callback: AsyncCallback&lt;ColorSpace&gt;): void
5213
5214获取当前窗口色域模式,使用callback异步回调。
5215
5216> **说明:**
5217>
5218> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
5219
5220**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5221
5222**参数:**
5223
5224| 参数名   | 类型                                           | 必填 | 说明                                                       |
5225| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- |
5226| callback | AsyncCallback&lt;[ColorSpace](#colorspace8)&gt; | 是   | 回调函数。当获取成功,err为undefined,data为当前色域模式。 |
5227
5228**示例:**
5229
5230```js
5231windowClass.getColorSpace((err, data) => {
5232    if (err.code) {
5233        console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
5234        return;
5235    }
5236    console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
5237});
5238```
5239
5240### getColorSpace<sup>(deprecated)</sup>
5241
5242getColorSpace(): Promise&lt;ColorSpace&gt;
5243
5244获取当前窗口色域模式,使用Promise异步回调。
5245
5246> **说明:**
5247>
5248> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。
5249
5250**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5251
5252**返回值:**
5253
5254| 类型                                     | 说明                            |
5255| ---------------------------------------- | ------------------------------- |
5256| Promise&lt;[ColorSpace](#colorspace8)&gt; | Promise对象。返回当前色域模式。 |
5257
5258**示例:**
5259
5260```js
5261let promise = windowClass.getColorSpace();
5262promise.then((data)=> {
5263    console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
5264}).catch((err)=>{
5265    console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
5266});
5267```
5268
5269### setBackgroundColor<sup>(deprecated)</sup>
5270
5271setBackgroundColor(color: string, callback: AsyncCallback&lt;void&gt;): void
5272
5273设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
5274
5275> **说明:**
5276>
5277> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5278
5279**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5280
5281**参数:**
5282
5283| 参数名   | 类型                      | 必填 | 说明                                                         |
5284| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
5285| color    | string                    | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
5286| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                                   |
5287
5288**示例:**
5289
5290```js
5291let color = '#00ff33';
5292windowClass.setBackgroundColor(color, (err) => {
5293    if (err.code) {
5294        console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
5295        return;
5296    }
5297    console.info('Succeeded in setting the background color.');
5298});
5299```
5300
5301### setBackgroundColor<sup>(deprecated)</sup>
5302
5303setBackgroundColor(color: string): Promise&lt;void&gt;
5304
5305设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent()](#loadcontent9)或[setUIContent()](#setuicontent9)调用生效后使用。
5306
5307> **说明:**
5308>
5309> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。
5310
5311**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5312
5313**参数:**
5314
5315| 参数名 | 类型   | 必填 | 说明                                                         |
5316| ------ | ------ | ---- | ------------------------------------------------------------ |
5317| color  | string | 是   | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 |
5318
5319**返回值:**
5320
5321| 类型                | 说明                      |
5322| ------------------- | ------------------------- |
5323| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5324
5325**示例:**
5326
5327```js
5328let color = '#00ff33';
5329let promise = windowClass.setBackgroundColor(color);
5330promise.then(()=> {
5331    console.info('Succeeded in setting the background color.');
5332}).catch((err)=>{
5333    console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
5334});
5335```
5336
5337### setBrightness<sup>(deprecated)</sup>
5338
5339setBrightness(brightness: number, callback: AsyncCallback&lt;void&gt;): void
5340
5341设置屏幕亮度值,使用callback异步回调。
5342
5343当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
5344
5345> **说明:**
5346>
5347> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9)。
5348
5349**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5350
5351**参数:**
5352
5353| 参数名     | 类型                      | 必填 | 说明                                 |
5354| ---------- | ------------------------- | ---- | ------------------------------------ |
5355| brightness | number                    | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
5356| callback   | AsyncCallback&lt;void&gt; | 是   | 回调函数。                           |
5357
5358**示例:**
5359
5360```js
5361let brightness = 1;
5362windowClass.setBrightness(brightness, (err) => {
5363    if (err.code) {
5364        console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
5365        return;
5366    }
5367    console.info('Succeeded in setting the brightness.');
5368});
5369```
5370
5371### setBrightness<sup>(deprecated)</sup>
5372
5373setBrightness(brightness: number): Promise&lt;void&gt;
5374
5375设置屏幕亮度值,使用Promise异步回调。
5376
5377当前屏幕亮度规格:窗口设置屏幕亮度生效时,控制中心不可以调整系统屏幕亮度,窗口恢复默认系统亮度之后,控制中心可以调整系统屏幕亮度。
5378
5379> **说明:**
5380>
5381> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9-1)。
5382
5383**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5384
5385**参数:**
5386
5387| 参数名     | 类型   | 必填 | 说明                                 |
5388| ---------- | ------ | ---- | ------------------------------------ |
5389| brightness | number | 是   | 屏幕亮度值,值为0-1之间。1表示最亮。 |
5390
5391**返回值:**
5392
5393| 类型                | 说明                      |
5394| ------------------- | ------------------------- |
5395| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5396
5397**示例:**
5398
5399```js
5400let brightness = 1;
5401let promise = windowClass.setBrightness(brightness);
5402promise.then(()=> {
5403    console.info('Succeeded in setting the brightness.');
5404}).catch((err)=>{
5405    console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
5406});
5407```
5408
5409### setDimBehind<sup>(deprecated)</sup>
5410
5411setDimBehind(dimBehindValue: number, callback: AsyncCallback&lt;void&gt;): void
5412
5413窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。
5414
5415> **说明:**
5416>
5417> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5418
5419**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5420
5421**参数:**
5422
5423| 参数名         | 类型                      | 必填 | 说明                                               |
5424| -------------- | ------------------------- | ---- | -------------------------------------------------- |
5425| dimBehindValue | number                    | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
5426| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。                                         |
5427
5428**示例:**
5429
5430```js
5431windowClass.setDimBehind(0.5, (err) => {
5432    if (err.code) {
5433        console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5434        return;
5435    }
5436    console.info('Succeeded in setting the dimness.');
5437});
5438```
5439
5440### setDimBehind<sup>(deprecated)</sup>
5441
5442setDimBehind(dimBehindValue: number): Promise&lt;void&gt;
5443
5444窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。
5445
5446> **说明:**
5447>
5448> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5449
5450**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5451
5452**参数:**
5453
5454| 参数名         | 类型   | 必填 | 说明                                               |
5455| -------------- | ------ | ---- | -------------------------------------------------- |
5456| dimBehindValue | number | 是   | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
5457
5458**返回值:**
5459
5460| 类型                | 说明                      |
5461| ------------------- | ------------------------- |
5462| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5463
5464**示例:**
5465
5466```js
5467let promise = windowClass.setDimBehind(0.5);
5468promise.then(()=> {
5469    console.info('Succeeded in setting the dimness.');
5470}).catch((err)=>{
5471    console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
5472});
5473```
5474
5475### setFocusable<sup>(deprecated)</sup>
5476
5477setFocusable(isFocusable: boolean, callback: AsyncCallback&lt;void&gt;): void
5478
5479设置点击时是否支持切换焦点窗口,使用callback异步回调。
5480
5481> **说明:**
5482>
5483> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9)。
5484
5485**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5486
5487**参数:**
5488
5489| 参数名      | 类型                      | 必填 | 说明                         |
5490| ----------- | ------------------------- | ---- | ---------------------------- |
5491| isFocusable | boolean                   | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
5492| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。                   |
5493
5494**示例:**
5495
5496```js
5497let isFocusable= true;
5498windowClass.setFocusable(isFocusable, (err) => {
5499    if (err.code) {
5500        console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
5501        return;
5502    }
5503    console.info('Succeeded in setting the window to be focusable.');
5504});
5505```
5506
5507### setFocusable<sup>(deprecated)</sup>
5508
5509setFocusable(isFocusable: boolean): Promise&lt;void&gt;
5510
5511设置点击时是否支持切换焦点窗口,使用Promise异步回调。
5512
5513> **说明:**
5514>
5515> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9-1)。
5516
5517**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5518
5519**参数:**
5520
5521| 参数名      | 类型    | 必填 | 说明                         |
5522| ----------- | ------- | ---- | ---------------------------- |
5523| isFocusable | boolean | 是   | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 |
5524
5525**返回值:**
5526
5527| 类型                | 说明                      |
5528| ------------------- | ------------------------- |
5529| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5530
5531**示例:**
5532
5533```js
5534let isFocusable= true;
5535let promise = windowClass.setFocusable(isFocusable);
5536promise.then(()=> {
5537    console.info('Succeeded in setting the window to be focusable.');
5538}).catch((err)=>{
5539    console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
5540});
5541```
5542
5543### setKeepScreenOn<sup>(deprecated)</sup>
5544
5545setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback&lt;void&gt;): void
5546
5547设置屏幕是否为常亮状态,使用callback异步回调。
5548
5549> **说明:**
5550>
5551> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9)。
5552
5553**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5554
5555**参数:**
5556
5557| 参数名         | 类型                      | 必填 | 说明                     |
5558| -------------- | ------------------------- | ---- | ------------------------ |
5559| isKeepScreenOn | boolean                   | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
5560| callback       | AsyncCallback&lt;void&gt; | 是   | 回调函数。               |
5561
5562**示例:**
5563
5564```js
5565let isKeepScreenOn = true;
5566windowClass.setKeepScreenOn(isKeepScreenOn, (err) => {
5567    if (err.code) {
5568        console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
5569        return;
5570    }
5571    console.info('Succeeded in setting the screen to be always on.');
5572});
5573```
5574
5575### setKeepScreenOn<sup>(deprecated)</sup>
5576
5577setKeepScreenOn(isKeepScreenOn: boolean): Promise&lt;void&gt;
5578
5579设置屏幕是否为常亮状态,使用Promise异步回调。
5580
5581> **说明:**
5582>
5583> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9-1)。
5584
5585**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5586
5587**参数:**
5588
5589| 参数名         | 类型    | 必填 | 说明                     |
5590| -------------- | ------- | ---- | ------------------------ |
5591| isKeepScreenOn | boolean | 是   | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 |
5592
5593**返回值:**
5594
5595| 类型                | 说明                      |
5596| ------------------- | ------------------------- |
5597| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5598
5599**示例:**
5600
5601```js
5602let isKeepScreenOn = true;
5603let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
5604promise.then(() => {
5605    console.info('Succeeded in setting the screen to be always on.');
5606}).catch((err)=>{
5607    console.info('Failed to set the screen to be always on. Cause:  ' + JSON.stringify(err));
5608});
5609```
5610
5611### setOutsideTouchable<sup>(deprecated)</sup>
5612
5613setOutsideTouchable(touchable: boolean, callback: AsyncCallback&lt;void&gt;): void
5614
5615设置是否允许可点击子窗口之外的区域,使用callback异步回调。
5616
5617> **说明:**
5618>
5619> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5620
5621**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5622
5623**参数:**
5624
5625| 参数名    | 类型                      | 必填 | 说明             |
5626| --------- | ------------------------- | ---- | ---------------- |
5627| touchable | boolean                   | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
5628| callback  | AsyncCallback&lt;void&gt; | 是   | 回调函数。       |
5629
5630**示例:**
5631
5632```js
5633windowClass.setOutsideTouchable(true, (err) => {
5634    if (err.code) {
5635        console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
5636        return;
5637    }
5638    console.info('Succeeded in setting the area to be touchable.');
5639});
5640```
5641
5642### setOutsideTouchable<sup>(deprecated)</sup>
5643
5644setOutsideTouchable(touchable: boolean): Promise&lt;void&gt;
5645
5646设置是否允许可点击子窗口之外的区域,使用Promise异步回调。。
5647
5648> **说明:**
5649>
5650> 该接口不支持使用。从 API version 7开始支持,从API version 9开始废弃。
5651
5652**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5653
5654**参数:**
5655
5656| 参数名    | 类型    | 必填 | 说明             |
5657| --------- | ------- | ---- | ---------------- |
5658| touchable | boolean | 是   | 设置是否可点击。true表示可点击;false表示不可点击。 |
5659
5660**返回值:**
5661
5662| 类型                | 说明                      |
5663| ------------------- | ------------------------- |
5664| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5665
5666**示例:**
5667
5668```js
5669let promise = windowClass.setOutsideTouchable(true);
5670promise.then(()=> {
5671    console.info('Succeeded in setting the area to be touchable.');
5672}).catch((err)=>{
5673    console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
5674});
5675```
5676
5677### setPrivacyMode<sup>(deprecated)</sup>
5678
5679setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback&lt;void&gt;): void
5680
5681设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5682
5683> **说明:**
5684>
5685> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9)。
5686
5687**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5688
5689**参数:**
5690
5691| 参数名        | 类型                      | 必填 | 说明                 |
5692| ------------- | ------------------------- | ---- | -------------------- |
5693| isPrivacyMode | boolean                   | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
5694| callback      | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5695
5696**示例:**
5697
5698```js
5699let isPrivacyMode = true;
5700windowClass.setPrivacyMode(isPrivacyMode, (err) => {
5701    if (err.code) {
5702        console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
5703        return;
5704    }
5705    console.info('Succeeded in setting the window to privacy mode.');
5706});
5707```
5708
5709### setPrivacyMode<sup>(deprecated)</sup>
5710
5711setPrivacyMode(isPrivacyMode: boolean): Promise&lt;void&gt;
5712
5713设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。
5714
5715> **说明:**
5716>
5717> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9-1)。
5718
5719**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5720
5721**参数:**
5722
5723| 参数名        | 类型    | 必填 | 说明                 |
5724| ------------- | ------- | ---- | -------------------- |
5725| isPrivacyMode | boolean | 是   | 窗口是否为隐私模式。true表示模式开启;false表示模式关闭。 |
5726
5727**返回值:**
5728
5729| 类型                | 说明                      |
5730| ------------------- | ------------------------- |
5731| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5732
5733**示例:**
5734
5735```js
5736let isPrivacyMode = true;
5737let promise = windowClass.setPrivacyMode(isPrivacyMode);
5738promise.then(()=> {
5739    console.info('Succeeded in setting the window to privacy mode.');
5740}).catch((err)=>{
5741    console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
5742});
5743```
5744
5745### setTouchable<sup>(deprecated)</sup>
5746
5747setTouchable(isTouchable: boolean, callback: AsyncCallback&lt;void&gt;): void
5748
5749设置窗口是否为可触状态,使用callback异步回调。
5750
5751> **说明:**
5752>
5753> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9)。
5754
5755**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5756
5757**参数:**
5758
5759| 参数名      | 类型                      | 必填 | 说明                 |
5760| ----------- | ------------------------- | ---- | -------------------- |
5761| isTouchable | boolean                   | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
5762| callback    | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
5763
5764**示例:**
5765
5766```js
5767let isTouchable = true;
5768windowClass.setTouchable(isTouchable, (err) => {
5769    if (err.code) {
5770        console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
5771        return;
5772    }
5773    console.info('Succeeded in setting the window to be touchable.');
5774});
5775```
5776
5777### setTouchable<sup>(deprecated)</sup>
5778
5779setTouchable(isTouchable: boolean): Promise&lt;void&gt;
5780
5781设置窗口是否为可触状态,使用Promise异步回调。
5782
5783> **说明:**
5784>
5785> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9-1)。
5786
5787**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5788
5789**参数:**
5790
5791| 参数名      | 类型    | 必填 | 说明                 |
5792| ----------- | ------- | ---- | -------------------- |
5793| isTouchable | boolean | 是   | 窗口是否为可触状态。true表示可触;false表示不可触。 |
5794
5795**返回值:**
5796
5797| 类型                | 说明                      |
5798| ------------------- | ------------------------- |
5799| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
5800
5801**示例:**
5802
5803```js
5804let isTouchable = true;
5805let promise = windowClass.setTouchable(isTouchable);
5806promise.then(()=> {
5807    console.info('Succeeded in setting the window to be touchable.');
5808}).catch((err)=>{
5809    console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
5810});
5811```
5812
5813## WindowStageEventType<sup>9+</sup>
5814
5815WindowStage生命周期。
5816
5817**模型约束:** 此接口仅可在Stage模型下使用。
5818
5819**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5820
5821| 名称       | 值 | 说明       |
5822| ---------- | ------ | ---------- |
5823| SHOWN      | 1      | 切到前台。 |
5824| ACTIVE     | 2      | 获焦状态。 |
5825| INACTIVE   | 3      | 失焦状态。 |
5826| HIDDEN     | 4      | 切到后台。 |
5827
5828## WindowStage<sup>9+</sup>
5829
5830窗口管理器。管理各个基本窗口单元,即[Window](#window)实例。
5831
5832下列API示例中都需在[onWindowStageCreate()](js-apis-app-ability-uiAbility.md#uiabilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。
5833
5834### getMainWindow<sup>9+</sup>
5835
5836getMainWindow(callback: AsyncCallback&lt;Window&gt;): void
5837
5838获取该WindowStage实例下的主窗口,使用callback异步回调。
5839
5840**模型约束:** 此接口仅可在Stage模型下使用。
5841
5842**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5843
5844**参数:**
5845
5846| 参数名   | 类型                                   | 必填 | 说明                                          |
5847| -------- | -------------------------------------- | ---- | --------------------------------------------- |
5848| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的主窗口对象。 |
5849
5850**错误码:**
5851
5852以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
5853
5854| 错误码ID | 错误信息 |
5855| ------- | ------------------------------ |
5856| 1300002 | This window state is abnormal. |
5857| 1300005 | This window stage is abnormal. |
5858
5859**示例:**
5860
5861```ts
5862import UIAbility from '@ohos.app.ability.UIAbility';
5863
5864class myAbility extends UIAbility {
5865    onWindowStageCreate(windowStage) {
5866        console.log('onWindowStageCreate');
5867        let windowClass = null;
5868        windowStage.getMainWindow((err, data) => {
5869            if (err.code) {
5870                console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
5871                return;
5872            }
5873            windowClass = data;
5874            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
5875        });
5876    }
5877};
5878```
5879
5880### getMainWindow<sup>9+</sup>
5881
5882getMainWindow(): Promise&lt;Window&gt;
5883
5884获取该WindowStage实例下的主窗口,使用Promise异步回调。
5885
5886**模型约束:** 此接口仅可在Stage模型下使用。
5887
5888**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5889
5890**返回值:**
5891
5892| 类型                             | 说明                                             |
5893| -------------------------------- | ------------------------------------------------ |
5894| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的主窗口对象。 |
5895
5896**错误码:**
5897
5898以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
5899
5900| 错误码ID | 错误信息 |
5901| ------- | ------------------------------ |
5902| 1300002 | This window state is abnormal. |
5903| 1300005 | This window stage is abnormal. |
5904
5905**示例:**
5906
5907```ts
5908import UIAbility from '@ohos.app.ability.UIAbility';
5909
5910class myAbility extends UIAbility {
5911    onWindowStageCreate(windowStage) {
5912        console.log('onWindowStageCreate');
5913        let windowClass = null;
5914        let promise = windowStage.getMainWindow();
5915        promise.then((data) => {
5916        windowClass = data;
5917            console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
5918        }).catch((err) => {
5919            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
5920        });
5921    }
5922};
5923```
5924
5925### getMainWindowSync<sup>9+</sup>
5926
5927getMainWindowSync(): Window
5928
5929获取该WindowStage实例下的主窗口。
5930
5931**模型约束:** 此接口仅可在Stage模型下使用。
5932
5933**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5934
5935**返回值:**
5936
5937| 类型 | 说明 |
5938| ----------------- | --------------------------------- |
5939| [Window](#window) | 返回当前WindowStage下的主窗口对象。 |
5940
5941**错误码:**
5942
5943以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
5944
5945| 错误码ID | 错误信息 |
5946| ------- | ------------------------------ |
5947| 1300002 | This window state is abnormal. |
5948| 1300005 | This window stage is abnormal. |
5949
5950**示例:**
5951
5952```ts
5953import UIAbility from '@ohos.app.ability.UIAbility';
5954
5955class myAbility extends UIAbility {
5956    onWindowStageCreate(windowStage) {
5957        console.log('onWindowStageCreate');
5958        try {
5959            let windowClass = windowStage.getMainWindowSync();
5960        } catch (exception) {
5961            console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception));
5962        };
5963    }
5964};
5965```
5966
5967### createSubWindow<sup>9+</sup>
5968
5969createSubWindow(name: string, callback: AsyncCallback&lt;Window&gt;): void
5970
5971创建该WindowStage实例下的子窗口,使用callback异步回调。
5972
5973**模型约束:** 此接口仅可在Stage模型下使用。
5974
5975**系统能力:** SystemCapability.WindowManager.WindowManager.Core
5976
5977**参数:**
5978
5979| 参数名   | 类型                                   | 必填 | 说明                                          |
5980| -------- | -------------------------------------- | ---- | --------------------------------------------- |
5981| name     | string                                 | 是   | 子窗口的名字。                                |
5982| callback | AsyncCallback&lt;[Window](#window)&gt; | 是   | 回调函数。返回当前WindowStage下的子窗口对象。 |
5983
5984**错误码:**
5985
5986以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
5987
5988| 错误码ID | 错误信息 |
5989| ------- | ------------------------------ |
5990| 1300002 | This window state is abnormal. |
5991| 1300005 | This window stage is abnormal. |
5992
5993**示例:**
5994
5995```ts
5996import UIAbility from '@ohos.app.ability.UIAbility';
5997
5998class myAbility extends UIAbility {
5999    onWindowStageCreate(windowStage) {
6000        console.log('onWindowStageCreate');
6001        let windowClass = null;
6002        try {
6003            windowStage.createSubWindow('mySubWindow', (err, data) => {
6004                if (err.code) {
6005                    console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
6006                    return;
6007                }
6008                windowClass = data;
6009                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
6010                windowClass.resetSize(500, 1000);
6011            });
6012        } catch (exception) {
6013            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
6014        };
6015    }
6016};
6017```
6018### createSubWindow<sup>9+</sup>
6019
6020createSubWindow(name: string): Promise&lt;Window&gt;
6021
6022创建该WindowStage实例下的子窗口,使用Promise异步回调。
6023
6024**模型约束:** 此接口仅可在Stage模型下使用。
6025
6026**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6027
6028**参数:**
6029
6030| 参数名 | 类型   | 必填 | 说明           |
6031| ------ | ------ | ---- | -------------- |
6032| name   | string | 是   | 子窗口的名字。 |
6033
6034**返回值:**
6035
6036| 类型                             | 说明                                             |
6037| -------------------------------- | ------------------------------------------------ |
6038| Promise&lt;[Window](#window)&gt; | Promise对象。返回当前WindowStage下的子窗口对象。 |
6039
6040**错误码:**
6041
6042以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6043
6044| 错误码ID | 错误信息 |
6045| ------- | ------------------------------ |
6046| 1300002 | This window state is abnormal. |
6047| 1300005 | This window stage is abnormal. |
6048
6049**示例:**
6050
6051```ts
6052import UIAbility from '@ohos.app.ability.UIAbility';
6053
6054class myAbility extends UIAbility {
6055    onWindowStageCreate(windowStage) {
6056        console.log('onWindowStageCreate');
6057        let windowClass = null;
6058        try {
6059            let promise = windowStage.createSubWindow('mySubWindow');
6060            promise.then((data) => {
6061                windowClass = data;
6062                console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data));
6063            }).catch((err) => {
6064                console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err));
6065            });
6066        } catch (exception) {
6067            console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception));
6068        };
6069    }
6070};
6071```
6072
6073### getSubWindow<sup>9+</sup>
6074
6075getSubWindow(callback: AsyncCallback&lt;Array&lt;Window&gt;&gt;): void
6076
6077获取该WindowStage实例下的所有子窗口,使用callback异步回调。
6078
6079**模型约束:** 此接口仅可在Stage模型下使用。
6080
6081**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6082
6083**参数:**
6084
6085| 参数名   | 类型                                                | 必填 | 说明                                              |
6086| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- |
6087| callback | AsyncCallback&lt;Array&lt;[Window](#window)&gt;&gt; | 是   | 回调函数。返回当前WindowStage下的所有子窗口对象。 |
6088
6089**错误码:**
6090
6091以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6092
6093| 错误码ID | 错误信息 |
6094| ------- | ------------------------------ |
6095| 1300005 | This window stage is abnormal. |
6096
6097**示例:**
6098
6099```ts
6100import UIAbility from '@ohos.app.ability.UIAbility';
6101
6102class myAbility extends UIAbility {
6103    onWindowStageCreate(windowStage) {
6104        console.log('onWindowStageCreate');
6105        let windowClass = null;
6106        windowStage.getSubWindow((err, data) => {
6107            if (err.code) {
6108                console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
6109                return;
6110            }
6111            windowClass = data;
6112            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
6113        });
6114    }
6115};
6116```
6117### getSubWindow<sup>9+</sup>
6118
6119getSubWindow(): Promise&lt;Array&lt;Window&gt;&gt;
6120
6121获取该WindowStage实例下的所有子窗口,使用Promise异步回调。
6122
6123**模型约束:** 此接口仅可在Stage模型下使用。
6124
6125**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6126
6127**返回值:**
6128
6129| 类型                                          | 说明                                                 |
6130| --------------------------------------------- | ---------------------------------------------------- |
6131| Promise&lt;Array&lt;[Window](#window)&gt;&gt; | Promise对象。返回当前WindowStage下的所有子窗口对象。 |
6132
6133**错误码:**
6134
6135以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6136
6137| 错误码ID | 错误信息 |
6138| ------- | ------------------------------ |
6139| 1300005 | This window stage is abnormal. |
6140
6141**示例:**
6142
6143```ts
6144import UIAbility from '@ohos.app.ability.UIAbility';
6145
6146class myAbility extends UIAbility {
6147    onWindowStageCreate(windowStage) {
6148        console.log('onWindowStageCreate');
6149        let windowClass = null;
6150        let promise = windowStage.getSubWindow();
6151        promise.then((data) => {
6152            windowClass = data;
6153            console.info('Succeeded in obtaining the subwindow. Data: ' + JSON.stringify(data));
6154        }).catch((err) => {
6155            console.error('Failed to obtain the subwindow. Cause: ' + JSON.stringify(err));
6156        })
6157    }
6158};
6159```
6160### loadContent<sup>9+</sup>
6161
6162loadContent(path: string, storage: LocalStorage, callback: AsyncCallback&lt;void&gt;): void
6163
6164为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用callback异步回调。
6165
6166**模型约束:** 此接口仅可在Stage模型下使用。
6167
6168**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6169
6170**参数:**
6171
6172| 参数名   | 类型                                            | 必填 | 说明                                                         |
6173| -------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
6174| path     | string                                          | 是   | 设置加载页面的路径。                                         |
6175| storage  | [LocalStorage](../../quick-start/arkts-localstorage.md) | 是   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
6176| callback | AsyncCallback&lt;void&gt;                       | 是   | 回调函数。                                                   |
6177
6178**错误码:**
6179
6180以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6181
6182| 错误码ID | 错误信息 |
6183| ------- | ------------------------------ |
6184| 1300002 | This window state is abnormal. |
6185| 1300005 | This window stage is abnormal. |
6186
6187**示例:**
6188
6189```ts
6190import UIAbility from '@ohos.app.ability.UIAbility';
6191
6192class myAbility extends UIAbility {
6193    storage : LocalStorage
6194    onWindowStageCreate(windowStage) {
6195        this.storage = new LocalStorage();
6196        this.storage.setOrCreate('storageSimpleProp',121);
6197        console.log('onWindowStageCreate');
6198        try {
6199            windowStage.loadContent('pages/page2',this.storage,(err) => {
6200                if (err.code) {
6201                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6202                    return;
6203                }
6204                console.info('Succeeded in loading the content.');
6205            });
6206        } catch (exception) {
6207            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6208        };
6209    }
6210};
6211```
6212
6213### loadContent<sup>9+</sup>
6214
6215loadContent(path: string, storage?: LocalStorage): Promise&lt;void&gt;
6216
6217为当前WindowStage的主窗口加载与LocalStorage相关联的具体页面内容,使用Promise异步回调。
6218
6219**模型约束:** 此接口仅可在Stage模型下使用。
6220
6221**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6222
6223**参数:**
6224
6225| 参数名  | 类型                                            | 必填 | 说明                                                         |
6226| ------- | ----------------------------------------------- | ---- | ------------------------------------------------------------ |
6227| path    | string                                          | 是   | 设置加载页面的路径。                                         |
6228| storage | [LocalStorage](../../quick-start/arkts-localstorage.md) | 否   | 存储单元,为应用程序范围内的可变状态属性和非可变状态属性提供存储。 |
6229
6230**返回值:**
6231
6232| 类型                | 说明                      |
6233| ------------------- | ------------------------- |
6234| Promise&lt;void&gt; | 无返回结果的Promise对象。 |
6235
6236**错误码:**
6237
6238以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6239
6240| 错误码ID | 错误信息 |
6241| ------- | ------------------------------ |
6242| 1300002 | This window state is abnormal. |
6243| 1300005 | This window stage is abnormal. |
6244
6245**示例:**
6246
6247```ts
6248import UIAbility from '@ohos.app.ability.UIAbility';
6249
6250class myAbility extends UIAbility {
6251    storage : LocalStorage
6252    onWindowStageCreate(windowStage) {
6253        this.storage = new LocalStorage();
6254        this.storage.setOrCreate('storageSimpleProp',121);
6255        console.log('onWindowStageCreate');
6256        try {
6257            let promise = windowStage.loadContent('pages/page2',this.storage);
6258            promise.then(() => {
6259                console.info('Succeeded in loading the content.');
6260            }).catch((err) => {
6261                console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6262            });
6263        } catch (exception) {
6264            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6265        };
6266    }
6267};
6268```
6269
6270### loadContent<sup>9+</sup>
6271
6272loadContent(path: string, callback: AsyncCallback&lt;void&gt;): void
6273
6274为当前WindowStage的主窗口加载具体页面内容,使用callback异步回调。
6275
6276**模型约束:** 此接口仅可在Stage模型下使用。
6277
6278**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6279
6280**参数:**
6281
6282| 参数名   | 类型                      | 必填 | 说明                 |
6283| -------- | ------------------------- | ---- | -------------------- |
6284| path     | string                    | 是   | 设置加载页面的路径。 |
6285| callback | AsyncCallback&lt;void&gt; | 是   | 回调函数。           |
6286
6287**错误码:**
6288
6289以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6290
6291| 错误码ID | 错误信息 |
6292| ------- | ------------------------------ |
6293| 1300002 | This window state is abnormal. |
6294| 1300005 | This window stage is abnormal. |
6295
6296**示例:**
6297
6298```ts
6299import UIAbility from '@ohos.app.ability.UIAbility';
6300
6301class myAbility extends UIAbility {
6302    onWindowStageCreate(windowStage) {
6303        console.log('onWindowStageCreate');
6304        try {
6305            windowStage.loadContent('pages/page2', (err) => {
6306                if (err.code) {
6307                    console.error('Failed to load the content. Cause:' + JSON.stringify(err));
6308                    return;
6309                }
6310                console.info('Succeeded in loading the content.');
6311            });
6312        } catch (exception) {
6313            console.error('Failed to load the content. Cause:' + JSON.stringify(exception));
6314        };
6315    }
6316};
6317```
6318
6319### on('windowStageEvent')<sup>9+</sup>
6320
6321on(eventType: 'windowStageEvent', callback: Callback&lt;WindowStageEventType&gt;): void
6322
6323开启WindowStage生命周期变化的监听。
6324
6325**模型约束:** 此接口仅可在Stage模型下使用。
6326
6327**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6328
6329**参数:**
6330
6331| 参数名   | 类型                                                         | 必填 | 说明                                                         |
6332| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
6333| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
6334| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 是   | 回调函数。返回当前的WindowStage生命周期状态。                |
6335
6336**错误码:**
6337
6338以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6339
6340| 错误码ID | 错误信息 |
6341| ------- | ------------------------------ |
6342| 1300002 | This window state is abnormal. |
6343| 1300005 | This window stage is abnormal. |
6344
6345**示例:**
6346
6347```ts
6348import UIAbility from '@ohos.app.ability.UIAbility';
6349
6350class myAbility extends UIAbility {
6351    onWindowStageCreate(windowStage) {
6352        console.log('onWindowStageCreate');
6353        try {
6354            windowStage.on('windowStageEvent', (data) => {
6355                console.info('Succeeded in enabling the listener for window stage event changes. Data: ' +
6356                    JSON.stringify(data));
6357            });
6358        } catch (exception) {
6359            console.error('Failed to enable the listener for window stage event changes. Cause:' +
6360                JSON.stringify(exception));
6361        };
6362    }
6363};
6364```
6365
6366### off('windowStageEvent')<sup>9+</sup>
6367
6368off(eventType: 'windowStageEvent', callback?: Callback&lt;WindowStageEventType&gt;): void
6369
6370关闭WindowStage生命周期变化的监听。
6371
6372**模型约束:** 此接口仅可在Stage模型下使用。
6373
6374**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6375
6376**参数:**
6377
6378| 参数名   | 类型                                                         | 必填 | 说明                                                         |
6379| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
6380| type     | string                                                       | 是   | 监听事件,固定为'windowStageEvent',即WindowStage生命周期变化事件。 |
6381| callback | Callback&lt;[WindowStageEventType](#windowstageeventtype9)&gt; | 否   | 回调函数。返回当前的WindowStage生命周期状态。                |
6382
6383**错误码:**
6384
6385以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6386
6387| 错误码ID | 错误信息 |
6388| ------- | ------------------------------ |
6389| 1300002 | This window state is abnormal. |
6390| 1300005 | This window stage is abnormal. |
6391
6392**示例:**
6393
6394```ts
6395import UIAbility from '@ohos.app.ability.UIAbility';
6396
6397class myAbility extends UIAbility {
6398    onWindowStageCreate(windowStage) {
6399        console.log('onWindowStageCreate');
6400        try {
6401            windowStage.off('windowStageEvent');
6402        } catch (exception) {
6403            console.error('Failed to disable the listener for window stage event changes. Cause:' +
6404                JSON.stringify(exception));
6405        };
6406    }
6407};
6408```
6409
6410### disableWindowDecor()<sup>9+</sup>
6411
6412disableWindowDecor(): void
6413
6414禁止窗口装饰。
6415
6416**模型约束:** 此接口仅可在Stage模型下使用。
6417
6418**系统接口:** 此接口为系统接口。
6419
6420**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6421
6422**错误码:**
6423
6424以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6425
6426| 错误码ID | 错误信息 |
6427| ------- | ------------------------------ |
6428| 1300002 | This window state is abnormal. |
6429| 1300005 | This window stage is abnormal. |
6430
6431**示例:**
6432
6433```ts
6434import UIAbility from '@ohos.app.ability.UIAbility';
6435
6436class myAbility extends UIAbility {
6437    onWindowStageCreate(windowStage) {
6438        console.log('disableWindowDecor');
6439        windowStage.disableWindowDecor();
6440    }
6441};
6442```
6443
6444### setShowOnLockScreen()<sup>9+</sup>
6445
6446setShowOnLockScreen(showOnLockScreen: boolean): void
6447
6448设置应用显示在锁屏之上。
6449
6450**系统接口:** 此接口为系统接口。
6451
6452**模型约束:** 此接口仅可在Stage模型下使用。
6453
6454**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6455
6456**参数:**
6457
6458| 参数名           | 类型    | 必填 | 说明                         |
6459| ---------------- | ------- | ---- | ---------------------------- |
6460| showOnLockScreen | boolean | 是   | 是否设置应用显示在锁屏之上。true表示显示在锁屏之上;false表示不显示在锁屏之上。 |
6461
6462**错误码:**
6463
6464以下错误码的详细介绍请参见[窗口错误码](../errorcodes/errorcode-window.md)。
6465
6466| 错误码ID | 错误信息 |
6467| ------- | ------------------------------ |
6468| 1300002 | This window state is abnormal. |
6469| 1300005 | This window stage is abnormal. |
6470
6471**示例:**
6472
6473```ts
6474import UIAbility from '@ohos.app.ability.UIAbility';
6475
6476class myAbility extends UIAbility {
6477    onWindowStageCreate(windowStage) {
6478        console.log('onWindowStageCreate');
6479        try {
6480            windowStage.setShowOnLockScreen(true);
6481        } catch (exception) {
6482            console.error('Failed to show on lockscreen. Cause:' + JSON.stringify(exception));
6483        };
6484    }
6485};
6486```
6487## TransitionContext<sup>9+</sup>
6488
6489属性转换的上下文信息。
6490
6491### 属性
6492
6493**系统接口:** 此接口为系统接口。
6494
6495**系统能力**:SystemCapability.WindowManager.WindowManager.Core
6496
6497| 名称                  | 类型          | 可读 | 可写 | 说明             |
6498| --------------------- | ----------------- | ---- | ---- | ---------------- |
6499| toWindow<sup>9+</sup> | [Window](#window) | 是   | 是   | 动画的目标窗口。 |
6500
6501### completeTransition<sup>9+</sup>
6502
6503completeTransition(isCompleted: boolean): void
6504
6505设置属性转换的最终完成状态。该函数需要在动画函数[animateTo()](../arkui-ts/ts-explicit-animation.md)执行后设置。
6506
6507**系统接口:** 此接口为系统接口。
6508
6509**系统能力**:SystemCapability.WindowManager.WindowManager.Core
6510
6511**参数:**
6512
6513| 参数名      | 类型    | 必填 | 说明                                                         |
6514| ----------- | ------- | ---- | ------------------------------------------------------------ |
6515| isCompleted | boolean | 是   | 窗口属性转换是否完成。true表示完成本次转换;false表示撤销本次转换。 |
6516
6517**示例:**
6518
6519```js
6520let controller = windowClass.getTransitionController();
6521controller.animationForShown = (context : window.TransitionContext) => {
6522	let toWindow = context.toWindow;
6523 	animateTo({
6524    	duration: 1000, // 动画时长
6525        tempo: 0.5, // 播放速率
6526        curve: Curve.EaseInOut, // 动画曲线
6527        delay: 0, // 动画延迟
6528        iterations: 1, // 播放次数
6529        playMode: PlayMode.Normal, // 动画模式
6530      }, () => {
6531        let obj : window.TranslateOptions = {
6532          x : 100.0,
6533          y : 0.0,
6534          z : 0.0
6535        };
6536        toWindow.translate(obj);
6537        console.info('toWindow translate end');
6538      }
6539    );
6540    try {
6541        context.completeTransition(true)
6542    } catch (exception) {
6543        console.info('toWindow translate fail. Cause: ' + JSON.stringify(exception));
6544    }
6545    console.info('complete transition end');
6546};
6547```
6548
6549## TransitionController<sup>9+</sup>
6550
6551属性转换控制器。
6552
6553### animationForShown<sup>9+</sup>
6554
6555animationForShown(context: TransitionContext): void
6556
6557窗口显示时的自定义动画配置。
6558
6559**系统接口:** 此接口为系统接口。
6560
6561**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6562
6563**参数:**
6564
6565| 参数名  | 类型                                     | 必填 | 说明                 |
6566| ------- | ---------------------------------------- | ---- | -------------------- |
6567| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |
6568
6569**示例:**
6570
6571```js
6572let controller = windowClass.getTransitionController();
6573controller.animationForShown = (context : window.TransitionContext) => {
6574	let toWindow = context.toWindow;
6575 	animateTo({
6576    	duration: 1000, // 动画时长
6577        tempo: 0.5, // 播放速率
6578        curve: Curve.EaseInOut, // 动画曲线
6579        delay: 0, // 动画延迟
6580        iterations: 1, // 播放次数
6581        playMode: PlayMode.Normal, // 动画模式
6582        onFinish: ()=> {
6583            context.completeTransition(true)
6584        }
6585      }, () => {
6586        let obj : window.TranslateOptions = {
6587          x : 100.0,
6588          y : 0.0,
6589          z : 0.0
6590        };
6591        toWindow.translate(obj);
6592        console.info('toWindow translate end');
6593      }
6594    );
6595    console.info('complete transition end');
6596};
6597```
6598
6599### animationForHidden<sup>9+</sup>
6600
6601animationForHidden(context: TransitionContext): void
6602
6603窗口隐藏时的自定义动画配置。
6604
6605**系统接口:** 此接口为系统接口。
6606
6607**系统能力:** SystemCapability.WindowManager.WindowManager.Core
6608
6609**参数:**
6610
6611| 参数名  | 类型                                     | 必填 | 说明                 |
6612| ------- | ---------------------------------------- | ---- | -------------------- |
6613| context | [TransitionContext](#transitioncontext9) | 是   | 属性转换时的上下文。 |
6614
6615**示例:**
6616
6617```js
6618let controller = windowClass.getTransitionController();
6619controller.animationForHidden = (context : window.TransitionContext) => {
6620	let toWindow = context.toWindow;
6621 	animateTo({
6622    	duration: 1000, // 动画时长
6623        tempo: 0.5, // 播放速率
6624        curve: Curve.EaseInOut, // 动画曲线
6625        delay: 0, // 动画延迟
6626        iterations: 1, // 播放次数
6627        playMode: PlayMode.Normal, // 动画模式
6628        onFinish: ()=> {
6629            context.completeTransition(true)
6630        }
6631      }, () => {
6632        let obj : window.TranslateOptions = {
6633          x : 100.0,
6634          y : 0.0,
6635          z : 0.0
6636        };
6637        toWindow.translate(obj);
6638        console.info('toWindow translate end');
6639      }
6640    )
6641    console.info('complete transition end');
6642};
6643```
6644