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<Window>): void 302 303创建子窗口或者系统窗口,使用callback异步回调。 304 305**系统能力:** SystemCapability.WindowManager.WindowManager.Core 306 307**参数:** 308 309| 参数名 | 类型 | 必填 | 说明 | 310| -------- | -------------------------------------- | -- | --------------------------------- | 311| config | [Configuration](#configuration9) | 是 | 创建窗口时的参数。 | 312| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的窗口对象。 | 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<Window> 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<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 | 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<Window> 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<[Window](#window)> | 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<void>): 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<void> | 是 | 回调信息。 | 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<void> 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<void> | 无返回结果的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<void>): void 613 614多窗口快速切换时隐藏或者恢复应用窗口。 615 616**系统接口:** 此接口为系统接口。 617 618**系统能力:** SystemCapability.WindowManager.WindowManager.Core 619 620**参数:** 621 622| 参数名 | 类型 | 必填 | 说明 | 623| -------- | ------------------------- | ---- | -------------- | 624| callback | AsyncCallback<void> | 是 | 回调信息。 | 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<void> 648 649多窗口快速切换时隐藏或者恢复应用窗口。 650 651**系统接口:** 此接口为系统接口。 652 653**系统能力:** SystemCapability.WindowManager.WindowManager.Core 654 655**返回值:** 656 657| 类型 | 说明 | 658| ------------------- | ------------------------- | 659| Promise<void> | 无返回结果的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<void>): void 682 683设置窗口布局模式。 684 685**系统接口:** 此接口为系统接口。 686 687**系统能力:** SystemCapability.WindowManager.WindowManager.Core 688 689**参数:** 690 691| 参数名 | 类型 | 必填 | 说明 | 692| -------- | ------------------------- | ---- | -------------- | 693| mode | [WindowLayoutMode](#windowlayoutmode9) | 是 | 设置的窗口布局模式。 | 694| callback | AsyncCallback<void> | 是 | 回调信息。 | 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<void> 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<void> | 无返回结果的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<SystemBarTintState>): void 767 768开启状态栏、导航栏属性变化的监听。 769 770**系统接口:** 此接口为系统接口。 771 772**系统能力:** SystemCapability.WindowManager.WindowManager.Core 773 774**参数:** 775 776| 参数名 | 类型 | 必填 | 说明 | 777| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ | 778| type | string | 是 | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 | 779| callback | Callback<[SystemBarTintState](#systembartintstate8)> | 是 | 回调函数。返回当前的状态栏、导航栏信息集合。 | 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<SystemBarTintState >): void 796 797关闭状态栏、导航栏属性变化的监听。 798 799**系统接口:** 此接口为系统接口。 800 801**系统能力:** SystemCapability.WindowManager.WindowManager.Core 802 803**参数:** 804 805| 参数名 | 类型 | 必填 | 说明 | 806| -------- | ---------------------------------------------------------- | ---- | ------------------------------------------------------------ | 807| type | string | 是 | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 | 808| callback | Callback<[SystemBarTintState](#systembartintstate8)> | 否 | 回调函数。返回当前的状态栏、导航栏信息集合。 | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | 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<Window> 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<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | 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<Window> 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<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前查找到的窗口对象。 | 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<Window> 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<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 | 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<Window> 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<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 | 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<Window> 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<[Window](#window)> | 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<void>): void 1187 1188隐藏当前窗口,使用callback异步回调。 1189 1190**系统接口:** 此接口为系统接口。 1191 1192**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1193 1194**参数:** 1195 1196| 参数名 | 类型 | 必填 | 说明 | 1197| -------- | ------------------------- | ---- | ---------- | 1198| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 1223 1224隐藏当前窗口,使用Promise异步回调。 1225 1226**系统接口:** 此接口为系统接口。 1227 1228**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1229 1230**返回值:** 1231 1232| 类型 | 说明 | 1233| ------------------- | ------------------------- | 1234| Promise<void> | 无返回结果的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<void>): void 1258 1259隐藏当前窗口,过程中播放动画,使用callback异步回调。 1260 1261**系统接口:** 此接口为系统接口。 1262 1263**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1264 1265**参数:** 1266 1267| 参数名 | 类型 | 必填 | 说明 | 1268| -------- | ------------------------- | ---- | ---------- | 1269| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 1296 1297隐藏当前窗口,过程中播放动画,使用Promise异步回调。 1298 1299**系统接口:** 此接口为系统接口。 1300 1301**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1302 1303**返回值:** 1304 1305| 类型 | 说明 | 1306| ------------------- | ------------------------- | 1307| Promise<void> | 无返回结果的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<void>): void 1333 1334显示当前窗口,使用callback异步回调。 1335 1336**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1337 1338**参数:** 1339 1340| 参数名 | 类型 | 必填 | 说明 | 1341| -------- | ------------------------- | -- | --------- | 1342| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 1367 1368显示当前窗口,使用Promise异步回调。 1369 1370**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1371 1372**返回值:** 1373 1374| 类型 | 说明 | 1375| ------------------- | ----------------------- | 1376| Promise<void> | 无返回结果的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<void>): void 1400 1401显示当前窗口,过程中播放动画,使用callback异步回调。 1402 1403**系统接口:** 此接口为系统接口。 1404 1405**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1406 1407**参数:** 1408 1409| 参数名 | 类型 | 必填 | 说明 | 1410| -------- | ------------------------- | ---- | ---------- | 1411| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 1438 1439显示当前窗口,过程中播放动画,使用Promise异步回调。 1440 1441**系统接口:** 此接口为系统接口。 1442 1443**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1444 1445**返回值:** 1446 1447| 类型 | 说明 | 1448| ------------------- | ------------------------- | 1449| Promise<void> | 无返回结果的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<void>): void 1475 1476销毁当前窗口,使用callback异步回调。 1477 1478**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1479 1480**参数:** 1481 1482| 参数名 | 类型 | 必填 | 说明 | 1483| -------- | ------------------------- | -- | --------- | 1484| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 1510 1511销毁当前窗口,使用Promise异步回调。 1512 1513**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1514 1515**返回值:** 1516 1517| 类型 | 说明 | 1518| ------------------- | ------------------------ | 1519| Promise<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 1736 1737设置窗口模式,使用callback异步回调。 1738 1739**系统接口:** 此接口为系统接口。 1740 1741**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1742 1743**参数:** 1744 1745| 参数名 | 类型 | 必填 | 说明 | 1746| -------- | -------------------------- | -- | --------- | 1747| mode | [WindowMode](#windowmode7) | 是 | 窗口模式。 | 1748| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 1897 1898设置窗口的布局是否为全屏显示状态,使用callback异步回调。 1899 1900**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1901 1902**参数:** 1903 1904| 参数名 | 类型 | 必填 | 说明 | 1905| ------------------ | ------------------------- | -- | --------- | 1906| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态(该全屏状态下状态栏、导航栏仍然显示)。true表示全屏显示;false表示非全屏显示。 | 1907| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 1983 1984设置导航栏、状态栏的可见模式,使用callback异步回调。 1985 1986**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1987 1988**参数:** 1989 1990| 参数名 | 类型 | 必填 | 说明 | 1991| -------- | ---------------------------- | -- | --------- | 1992| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。 | 1993| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 2025 2026设置导航栏、状态栏的可见模式,使用Promise异步回调。 2027 2028**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2029 2030**参数:** 2031 2032| 参数名 | 类型 | 必填 | 说明 | 2033| ----- | ---------------------------- | -- | --------------------------------- | 2034| names | Array<'status'\|'navigation'> | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。 | 2035 2036**返回值:** 2037 2038| 类型 | 说明 | 2039| ------------------- | ------------------------ | 2040| Promise<void> | 无返回结果的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<void>): void 2071 2072设置窗口内导航栏、状态栏的属性,使用callback异步回调。 2073 2074**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2075 2076**参数:** 2077 2078| 参数名 | 类型 | 必填 | 说明 | 2079| ------------------- | ------------------------------------------- | ---- | ---------------------- | 2080| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | 2081| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 2169 2170设置窗口的显示方向属性,使用callback异步回调。 2171 2172**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2173 2174**参数:** 2175 2176| 参数名 | 类型 | 必填 | 说明 | 2177| ------------------- | ------------------------------------------- | ---- | ---------------------- | 2178| Orientation | [Orientation](#orientation9) | 是 | 窗口显示方向的属性。 | 2179| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 2253 2254为当前窗口加载具体页面内容,使用callback异步回调。 2255 2256**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2257 2258**参数:** 2259 2260| 参数名 | 类型 | 必填 | 说明 | 2261| -------- | ------------------------- | -- | -------------------- | 2262| path | string | 是 | 设置加载页面的路径。 | 2263| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 2293 2294为当前窗口加载具体页面内容,使用Promise异步回调。 2295 2296**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2297 2298**参数:** 2299 2300| 参数名 | 类型 | 必填 | 说明 | 2301| ---- | ------ | -- | ------------------ | 2302| path | string | 是 | 设置加载页面的路径。 | 2303 2304**返回值:** 2305 2306| 类型 | 说明 | 2307| ------------------- | ------------------------ | 2308| Promise<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<Size>): void 2466 2467开启窗口尺寸变化的监听。 2468 2469**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2470 2471**参数:** 2472 2473| 参数名 | 类型 | 必填 | 说明 | 2474| -------- | ------------------------------ | ---- | -------------------------------------------------------- | 2475| type | string | 是 | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 | 2476| callback | Callback<[Size](#size7)> | 是 | 回调函数。返回当前的窗口尺寸。 | 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<Size>): void 2493 2494关闭窗口尺寸变化的监听。 2495 2496**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2497 2498**参数:** 2499 2500| 参数名 | 类型 | 必填 | 说明 | 2501| -------- | ----------------------------- | ---- | -------------------------------------------------------- | 2502| type | string | 是 | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 | 2503| callback | Callback<[Size](#size7)> | 否 | 回调函数。返回当前的窗口尺寸。 | 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<{AvoidAreaType, AvoidArea}>): void 2518 2519开启系统规避区变化的监听。 2520 2521**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2522 2523**参数:** 2524 2525| 参数名 | 类型 | 必填 | 说明 | 2526| -------- |------------------------------------------------------------------| ---- |--------------------------------------| 2527| type | string | 是 | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 | 2528| callback | Callback<{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}> | 是 | 回调函数。返回当前规避区以及规避区类型。| 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<{AvoidAreaType, AvoidArea}>): void 2546 2547关闭系统规避区变化的监听。 2548 2549**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2550 2551**参数:** 2552 2553| 参数名 | 类型 | 必填 | 说明 | 2554| -------- |-----------------------------------------------------------------------------|-----|------------------------------------| 2555| type | string | 是 | 监听事件,固定为'avoidAreaChange',即系统规避区变化事件。 | 2556| callback | Callback<{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}> | 否 | 回调函数。返回当前规避区以及规避区类型。| 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<number>): void 2571 2572开启键盘高度变化的监听。 2573 2574**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2575 2576**参数:** 2577 2578| 参数名 | 类型 | 必填 | 说明 | 2579| -------- | ------------------- | ---- | ------------------------------------------------------------ | 2580| type | string | 是 | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 | 2581| callback | Callback<number> | 是 | 回调函数。返回当前的键盘高度。 | 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<number>): void 2598 2599关闭键盘高度变化的监听。 2600 2601**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2602 2603**参数:** 2604 2605| 参数名 | 类型 | 必填 | 说明 | 2606| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 2607| type | string | 是 | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 | 2608| callback | Callback<number> | 否 | 回调函数。返回当前的键盘高度。 | 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<void>): void 2623 2624开启本窗口区域范围外的点击事件的监听。 2625 2626**系统接口:** 此接口为系统接口。 2627 2628**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2629 2630**参数:** 2631 2632| 参数名 | 类型 | 必填 | 说明 | 2633| -------- | ------------------- | ---- | ------------------------------------------------------------ | 2634| type | string | 是 | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 | 2635| callback | Callback<void> | 是 | 回调函数。当点击事件发生在本窗口范围之外的回调。 | 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<void>): void 2652 2653关闭本窗口区域范围外的点击事件的监听。 2654 2655**系统接口:** 此接口为系统接口。 2656 2657**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2658 2659**参数:** 2660 2661| 参数名 | 类型 | 必填 | 说明 | 2662| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 2663| type | string | 是 | 监听事件,固定为'touchOutside',即本窗口范围外的点击事件。 | 2664| callback | Callback<number> | 否 | 回调函数。当点击事件发生在本窗口范围之外的回调。 | 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<void>): void 2679 2680开启截屏事件的监听。 2681 2682**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2683 2684**参数:** 2685 2686| 参数名 | 类型 | 必填 | 说明 | 2687| -------- | ------------------- | ---- | ------------------------------------------------------------ | 2688| type | string | 是 | 监听事件,固定为'screenshot',即截屏事件。 | 2689| callback | Callback<void> | 是 | 回调函数。发生截屏事件时的回调。 | 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<void>): void 2706 2707关闭截屏事件的监听。 2708 2709**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2710 2711**参数:** 2712 2713| 参数名 | 类型 | 必填 | 说明 | 2714| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 2715| type | string | 是 | 监听事件,固定为'screenshot',即截屏事件。 | 2716| callback | Callback<void> | 否 | 回调函数。发生截屏事件时的回调。 | 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<void>, callback: AsyncCallback<void>): 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<void> | 是 | 模态窗口销毁监听。 | 2754| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void>): Promise<void> 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<void> | 是 | 模态窗口销毁监听。 | 2822 2823**返回值:** 2824 2825| 类型 | 说明 | 2826| ------------------- | ------------------------- | 2827| Promise<void> | 无返回结果的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<boolean>): void 2881 2882判断当前窗口是否支持广色域模式,使用callback异步回调。 2883 2884**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2885 2886**参数:** 2887 2888| 参数名 | 类型 | 必填 | 说明 | 2889| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- | 2890| callback | AsyncCallback<boolean> | 是 | 回调函数。返回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<boolean> 2915 2916判断当前窗口是否支持广色域模式,使用Promise异步回调。 2917 2918**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2919 2920**返回值:** 2921 2922| 类型 | 说明 | 2923| ---------------------- | ------------------------------------------------------------------------------------ | 2924| Promise<boolean> | 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<void>): void 2948 2949设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。 2950 2951**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2952 2953**参数:** 2954 2955| 参数名 | 类型 | 必填 | 说明 | 2956| ---------- | ------------------------- | -- | ----------- | 2957| colorSpace | [ColorSpace](#colorspace8) | 是 | 设置色域模式。 | 2958| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 3181 3182设置点击时是否支持切换焦点窗口,使用callback异步回调。 3183 3184**系统能力:** SystemCapability.WindowManager.WindowManager.Core 3185 3186**参数:** 3187 3188| 参数名 | 类型 | 必填 | 说明 | 3189| ----------- | ------------------------- | -- | ------------------------------------------------------- | 3190| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。true表示支持;false表示不支持。 | 3191| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 3267 3268设置屏幕是否为常亮状态,使用callback异步回调。 3269 3270**系统能力:** SystemCapability.WindowManager.WindowManager.Core 3271 3272**参数:** 3273 3274| 参数名 | 类型 | 必填 | 说明 | 3275| -------------- | ------------------------- | -- | ---------------------------------------------------- | 3276| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。true表示常亮;false表示不常亮。 | 3277| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): void 3509 3510设置窗口是否为可触状态,使用callback异步回调。 3511 3512**系统能力:** SystemCapability.WindowManager.WindowManager.Core 3513 3514**参数:** 3515 3516| 参数名 | 类型 | 必填 | 说明 | 3517| ----------- | ------------------------- | -- | ----------------------------------------------- | 3518| isTouchable | boolean | 是 | 窗口是否为可触状态。true表示可触;false表示不可触。 | 3519| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<image.PixelMap>): void 3685 3686获取窗口截图,使用callback异步回调。 3687 3688**系统能力:** SystemCapability.WindowManager.WindowManager.Core 3689 3690**参数:** 3691 3692| 参数名 | 类型 | 必填 | 说明 | 3693| ----------- | ------------------------- | ---- | -------------------- | 3694| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | 回调函数。 | 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<image.PixelMap> 3720 3721获取窗口截图,使用Promise异步回调。 3722 3723**系统能力:** SystemCapability.WindowManager.WindowManager.Core 3724 3725**返回值:** 3726 3727| 类型 | 说明 | 3728| ------------------- | ------------------------- | 3729| Promise<[image.PixelMap](js-apis-image.md#pixelmap7)> | 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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<WindowProperties>): 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<[WindowProperties](#windowproperties)> | 是 | 回调函数。返回当前窗口属性。 | 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<WindowProperties> 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<[WindowProperties](#windowproperties)> | 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<[AvoidArea](#avoidarea7)>): 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<[AvoidArea](#avoidarea7)> | 是 | 回调函数。返回窗口内容规避区域。 | 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<[AvoidArea](#avoidarea7)> 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<[AvoidArea](#avoidarea7)> | 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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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', 'navigation'];不设置,则默认不显示。 | 4775| callback | AsyncCallback<void> | 是 | 回调函数。 | 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<void> 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', 'navigation'];不设置,则默认不显示。 | 4808 4809**返回值:** 4810 4811| 类型 | 说明 | 4812| ------------------- | ------------------------- | 4813| Promise<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<boolean>): 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<boolean> | 是 | 回调函数。返回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<boolean> 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<boolean> | 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<AvoidArea>): 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<[AvoidArea](#avoidarea7)> | 是 | 回调函数。返回当前规避区。 | 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<AvoidArea>): 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<[AvoidArea](#avoidarea7)> | 否 | 回调函数。返回当前规避区。 | 5078 5079**示例:** 5080 5081```js 5082windowClass.off('systemAvoidAreaChange'); 5083``` 5084 5085### isSupportWideGamut<sup>(deprecated)</sup> 5086 5087isSupportWideGamut(callback: AsyncCallback<boolean>): 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<boolean> | 是 | 回调函数。返回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<boolean> 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<boolean> | 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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<ColorSpace>): 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<[ColorSpace](#colorspace8)> | 是 | 回调函数。当获取成功,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<ColorSpace> 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<[ColorSpace](#colorspace8)> | 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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<Window>): void 5837 5838获取该WindowStage实例下的主窗口,使用callback异步回调。 5839 5840**模型约束:** 此接口仅可在Stage模型下使用。 5841 5842**系统能力:** SystemCapability.WindowManager.WindowManager.Core 5843 5844**参数:** 5845 5846| 参数名 | 类型 | 必填 | 说明 | 5847| -------- | -------------------------------------- | ---- | --------------------------------------------- | 5848| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前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<Window> 5883 5884获取该WindowStage实例下的主窗口,使用Promise异步回调。 5885 5886**模型约束:** 此接口仅可在Stage模型下使用。 5887 5888**系统能力:** SystemCapability.WindowManager.WindowManager.Core 5889 5890**返回值:** 5891 5892| 类型 | 说明 | 5893| -------------------------------- | ------------------------------------------------ | 5894| Promise<[Window](#window)> | 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<Window>): 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<[Window](#window)> | 是 | 回调函数。返回当前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<Window> 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<[Window](#window)> | 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<Array<Window>>): void 6076 6077获取该WindowStage实例下的所有子窗口,使用callback异步回调。 6078 6079**模型约束:** 此接口仅可在Stage模型下使用。 6080 6081**系统能力:** SystemCapability.WindowManager.WindowManager.Core 6082 6083**参数:** 6084 6085| 参数名 | 类型 | 必填 | 说明 | 6086| -------- | --------------------------------------------------- | ---- | ------------------------------------------------- | 6087| callback | AsyncCallback<Array<[Window](#window)>> | 是 | 回调函数。返回当前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<Array<Window>> 6120 6121获取该WindowStage实例下的所有子窗口,使用Promise异步回调。 6122 6123**模型约束:** 此接口仅可在Stage模型下使用。 6124 6125**系统能力:** SystemCapability.WindowManager.WindowManager.Core 6126 6127**返回值:** 6128 6129| 类型 | 说明 | 6130| --------------------------------------------- | ---------------------------------------------------- | 6131| Promise<Array<[Window](#window)>> | 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<void>): 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<void> | 是 | 回调函数。 | 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<void> 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<void> | 无返回结果的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<void>): 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<void> | 是 | 回调函数。 | 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<WindowStageEventType>): 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<[WindowStageEventType](#windowstageeventtype9)> | 是 | 回调函数。返回当前的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<WindowStageEventType>): 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<[WindowStageEventType](#windowstageeventtype9)> | 否 | 回调函数。返回当前的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