1# 窗口 2 3窗口提供管理窗口的一些基础能力,包括对当前窗口的创建、销毁、各属性设置等。 4 5该模块提供以下窗口相关的常用功能: 6 7[Window](#window):当前窗口实例,窗口管理器管理的基本单元。 8 9> **说明:** 10> 11> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 12 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 | 表示应用子窗口。 | 29| TYPE_SYSTEM_ALERT | 1 | 表示系统告警窗口。 | 30 31 32## AvoidAreaType<sup>7+</sup> 33 34窗口内容需要规避区域的类型枚举。 35 36**系统能力:** SystemCapability.WindowManager.WindowManager.Core 37 38| 名称 | 值 | 说明 | 39| ----------- | ---- | ------------------ | 40| TYPE_SYSTEM | 0 | 表示系统默认区域。 | 41| TYPE_CUTOUT | 1 | 表示刘海屏区域。 | 42 43## WindowMode<sup>7+</sup> 44 45窗口模式枚举。 46 47**系统接口:** 此接口为系统接口,三方应用不支持调用。 48 49**系统能力:** SystemCapability.WindowManager.WindowManager.Core 50 51| 名称 | 值 | 说明 | 52| ---------- | ---- | ----------------------------- | 53| UNDEFINED | 1 | 表示APP未定义窗口模式。 | 54| FULLSCREEN | 2 | 表示APP全屏模式。 | 55| PRIMARY | 3 | 表示APP分屏多窗口主要模式。 | 56| SECONDARY | 4 | 表示APP分屏多窗口次要模式。 | 57| FLOATING | 5 | 表示APP自由悬浮形式窗口模式。 | 58 59## SystemBarProperties 60 61状态栏、导航栏的属性。 62 63**系统能力:** SystemCapability.WindowManager.WindowManager.Core 64 65| 名称 | 参数类型 | 可读 | 可写 | 说明 | 66| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ | 67| statusBarColor | string | 否 | 是 | 状态栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | 68| isStatusBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 状态栏图标是否为高亮状态。 | 69| statusBarContentColor<sup>8+</sup> | string | 否 | 是 | 状态栏文字颜色。 | 70| navigationBarColor | string | 否 | 是 | 导航栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | 71| isNavigationBarLightIcon<sup>7+</sup> | boolean | 否 | 是 | 导航栏图标是否为高亮状态。 | 72| navigationBarContentColor<sup>8+</sup> | string | 否 | 是 | 导航栏文字颜色。 | 73 74## SystemBarRegionTint<sup>8+</sup> 75 76单个导航栏或状态栏回调信息。 77 78**系统接口:** 此接口为系统接口,三方应用不支持调用。 79 80**系统能力:** SystemCapability.WindowManager.WindowManager.Core 81 82| 名称 | 参数类型 | 可读 | 可写 | 说明 | 83| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | 84| type | [WindowType](#windowtype7) | 是 | 否 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 | 85| isEnable | boolean | 是 | 否 | 当前系统栏是否显示。 | 86| region | [Rect](#rect7) | 是 | 否 | 当前系统栏的位置及大小。 | 87| backgroundColor | string | 是 | 否 | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | 88| contentColor | string | 是 | 否 | 系统栏文字颜色。 | 89 90## SystemBarTintState<sup>8+</sup> 91 92当前系统栏回调信息集合。 93 94**系统接口:** 此接口为系统接口,三方应用不支持调用。 95 96**系统能力:** SystemCapability.WindowManager.WindowManager.Core 97 98| 名称 | 参数类型 | 可读 | 可写 | 说明 | 99| ---------- | --------------------------------------------------- | ---- | ---- | ---------------------------- | 100| displayId | number | 是 | 否 | 当前物理屏幕id。 | 101| regionTint | Array<[SystemBarRegionTint](#systembarregiontint8)> | 是 | 否 | 当前已改变的所有系统栏信息。 | 102 103## Rect<sup>7+</sup> 104 105窗口矩形区域。 106 107**系统能力:** SystemCapability.WindowManager.WindowManager.Core 108 109| 名称 | 参数类型 | 可读 | 可写 | 说明 | 110| ------ | -------- | ---- | ---- | ------------------ | 111| left | number | 是 | 是 | 矩形区域的左边界。 | 112| top | number | 是 | 是 | 矩形区域的上边界。 | 113| width | number | 是 | 是 | 矩形区域的宽度。 | 114| height | number | 是 | 是 | 矩形区域的高度。 | 115 116## AvoidArea<sup>7+</sup> 117 118窗口内容规避区域。 119 120**系统能力:** SystemCapability.WindowManager.WindowManager.Core 121 122| 名称 | 参数类型 | 可读 | 可写 | 说明 | 123| ---------- | ------------- | ---- | ---- | ------------------ | 124| leftRect | [Rect](#rect7) | 是 | 是 | 屏幕左侧的矩形区。 | 125| topRect | [Rect](#rect7) | 是 | 是 | 屏幕顶部的矩形区。 | 126| rightRect | [Rect](#rect7) | 是 | 是 | 屏幕右侧的矩形区。 | 127| bottomRect | [Rect](#rect7) | 是 | 是 | 屏幕底部的矩形区。 | 128 129## Size<sup>7+</sup> 130 131窗口大小。 132 133**系统能力:** SystemCapability.WindowManager.WindowManager.Core 134 135| 名称 | 参数类型 | 可读 | 可写 | 说明 | 136| ------ | -------- | ---- | ---- | ---------- | 137| width | number | 是 | 是 | 窗口宽度。 | 138| height | number | 是 | 是 | 窗口高度。 | 139 140## WindowProperties 141 142窗口属性。 143 144**系统能力:** SystemCapability.WindowManager.WindowManager.Core 145 146| 名称 | 参数类型 | 可读 | 可写 | 说明 | 147| ------------------------------- | ------------------------- | ---- | ---- | -------------------------------------------- | 148| windowRect<sup>7+</sup> | [Rect](#rect7) | 是 | 是 | 窗口尺寸。 | 149| type<sup>7+</sup> | [WindowType](#windowtype7) | 是 | 是 | 窗口类型。 | 150| isFullScreen | boolean | 是 | 是 | 是否全屏,默认为false。 | 151| isLayoutFullScreen<sup>7+</sup> | boolean | 是 | 是 | 窗口是否为沉浸式,默认为false。 | 152| focusable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可聚焦,默认为true。 | 153| touchable<sup>7+</sup> | boolean | 是 | 否 | 窗口是否可触摸,默认为true。 | 154| brightness | number | 是 | 是 | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。 | 155| dimBehindValue<sup>7+</sup> | number | 是 | 是 | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。| 156| isKeepScreenOn | boolean | 是 | 是 | 屏幕是否常亮,默认为false。 | 157| isPrivacyMode<sup>7+</sup> | boolean | 是 | 是 | 隐私模式,默认为false。 | 158| isRoundCorner<sup>7+</sup> | boolean | 是 | 是 | 窗口是否为圆角。默认为false。 | 159| isTransparent<sup>7+</sup> | boolean | 是 | 是 | 窗口是否透明。默认为false。 | 160 161## ColorSpace<sup>8+</sup> 162 163色域模式。 164 165**系统能力:** SystemCapability.WindowManager.WindowManager.Core 166 167| 名称 | 默认值 | 说明 | 168| ---------- | ------ | -------------- | 169| DEFAULT | 0 | 默认色域模式。 | 170| WIDE_GAMUT | 1 | 广色域模式。 | 171 172## window.create<sup>7+</sup> 173 174create(id: string, type: WindowType, callback: AsyncCallback<Window>): void 175 176创建子窗口,使用callback异步回调。 177 178**系统能力:** SystemCapability.WindowManager.WindowManager.Core 179 180**参数:** 181 182| 参数名 | 类型 | 必填 | 说明 | 183| -------- | -------------------------------------- | ---- | ------------------------------------ | 184| id | string | 是 | 窗口id。 | 185| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 186| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | 187 188**示例:** 189 190```js 191var windowClass = null; 192window.create("first", window.WindowType.TYPE_APP,(err,data) => { 193 if(err.code){ 194 console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); 195 return; 196 } 197 windowClass = data; 198 console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data)); 199}); 200``` 201 202## window.create<sup>7+</sup> 203 204create(id: string, type: WindowType): Promise<Window> 205 206创建子窗口,使用Promise异步回调。 207 208**系统能力:** SystemCapability.WindowManager.WindowManager.Core 209 210**参数:** 211 212| 参数名 | 类型 | 必填 | 说明 | 213| ------ | ------------------------- | ---- | ---------- | 214| id | string | 是 | 窗口id。 | 215| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 216 217**返回值:** 218 219| 类型 | 说明 | 220| -------------------------------- | --------------------------------------- | 221| Promise<[Window](#window)> | Promise对象。返回当前创建的子窗口对象。 | 222 223**示例:** 224 225```js 226var windowClass = null; 227let promise = window.create("first", window.WindowType.TYPE_APP); 228promise.then((data)=> { 229 windowClass = data; 230 console.info('Succeeded in creating the subWindow. Data: ' + JSON.stringify(data)); 231}).catch((err)=>{ 232 console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err)); 233}); 234``` 235 236## window.create<sup>8+</sup> 237 238create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Window>): void 239 240创建子窗口,使用callback异步回调。 241 242**系统能力:** SystemCapability.WindowManager.WindowManager.Core 243 244**参数:** 245 246| 参数名 | 类型 | 必填 | 说明 | 247| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ | 248| ctx | [Context](js-apis-Context.md) | 是 | 当前应用上下文信息。 | 249| id | string | 是 | 窗口id。 | 250| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 251| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | 252 253**示例:** 254 255```js 256var windowClass = null; 257 window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => { 258 if (err.code) { 259 console.error('Failed to create the window. Cause: ' + JSON.stringify(err)); 260 return; 261 } 262 windowClass = data; 263 console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data)); 264 windowClass.resetSize(500, 1000); 265}); 266``` 267 268## window.create<sup>8+</sup> 269 270create(ctx: Context, id: string, type: WindowType): Promise<Window> 271 272创建子窗口,使用Promise异步回调。 273 274 275**系统能力:** SystemCapability.WindowManager.WindowManager.Core 276 277**参数:** 278 279| 参数名 | 类型 | 必填 | 说明 | 280| ------ | ------------------------- | ---- | ------------------------------------------------------------ | 281| ctx | [Context](js-apis-Context.md) | 是 | 当前应用上下文信息。 | 282| id | string | 是 | 窗口id。 | 283| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 284 285**返回值:** 286 287| 类型 | 说明 | 288| -------------------------------- | --------------------------------------- | 289| Promise<[Window](#window)> | Promise对象。返回当前创建的子窗口对象。 | 290 291**示例:** 292 293```js 294var windowClass = null; 295let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT); 296promise.then((data)=> { 297 windowClass = data; 298 console.info('Succeeded in creating the window. Data:' + JSON.stringify(data)); 299}).catch((err)=>{ 300 console.error('Failed to create the window. Cause:' + JSON.stringify(err)); 301}); 302``` 303 304## window.find<sup>7+</sup> 305 306find(id: string, callback: AsyncCallback<Window>): void 307 308查找id所对应的窗口,使用callback异步回调。 309 310**系统能力:** SystemCapability.WindowManager.WindowManager.Core 311 312**参数:** 313 314| 参数名 | 类型 | 必填 | 说明 | 315| -------- | -------------------------------------- | ---- | ------------------------------------ | 316| id | string | 是 | 窗口id。 | 317| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前查找到的窗口对象。 | 318 319**示例:** 320 321```js 322var windowClass = null; 323 window.find("alertWindow", (err, data) => { 324 if (err.code) { 325 console.error('Failed to find the window. Cause: ' + JSON.stringify(err)); 326 return; 327 } 328 windowClass = data; 329 console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data)); 330}); 331``` 332 333## window.find<sup>7+</sup> 334 335find(id: string): Promise<Window> 336 337查找id所对应的窗口,使用Promise异步回调。 338 339**系统能力:** SystemCapability.WindowManager.WindowManager.Core 340 341**参数:** 342 343| 参数名 | 类型 | 必填 | 说明 | 344| ------ | ------ | ---- | -------- | 345| id | string | 是 | 窗口id。 | 346 347**返回值:** 348 349| 类型 | 说明 | 350| -------------------------------- | ------------------------------------- | 351| Promise<[Window](#window)> | Promise对象。返回当前查找的窗口对象。 | 352 353**示例:** 354 355```js 356var windowClass = null; 357let promise = window.find("alertWindow"); 358promise.then((data)=> { 359 windowClass = data; 360 console.info('Succeeded in finding the window. Data: ' + JSON.stringify(data)); 361}).catch((err)=>{ 362 console.error('Failed to find the window. Cause: ' + JSON.stringify(err)); 363}); 364``` 365 366## window.getTopWindow 367 368getTopWindow(callback: AsyncCallback<Window>): void 369 370获取当前应用内最后显示的窗口,使用callback异步回调。 371 372**系统能力:** SystemCapability.WindowManager.WindowManager.Core 373 374**参数:** 375 376| 参数名 | 类型 | 必填 | 说明 | 377| -------- | -------------------------------------- | ---- | -------------------------------------------- | 378| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 | 379 380**示例:** 381 382```js 383var windowClass = null; 384window.getTopWindow((err, data) => { 385 if (err.code) { 386 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); 387 return; 388 } 389 windowClass = data; 390 console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); 391}); 392``` 393 394## window.getTopWindow 395 396getTopWindow(): Promise<Window> 397 398获取当前应用内最后显示的窗口,使用Promise异步回调。 399 400**系统能力:** SystemCapability.WindowManager.WindowManager.Core 401 402**返回值:** 403 404| 类型 | 说明 | 405| -------------------------------- | ----------------------------------------------- | 406| Promise<[Window](#window)> | Promise对象。返回当前应用内最后显示的窗口对象。 | 407 408**示例:** 409 410```js 411var windowClass = null; 412let promise = window.getTopWindow(); 413promise.then((data)=> { 414 windowClass = data; 415 console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); 416}).catch((err)=>{ 417 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); 418}) 419``` 420 421## window.getTopWindow<sup>8+</sup> 422 423getTopWindow(ctx: Context, callback: AsyncCallback<Window>): void 424 425获取当前应用内最后显示的窗口,使用callback异步回调。 426 427**系统能力:** SystemCapability.WindowManager.WindowManager.Core 428 429**参数:** 430 431| 参数名 | 类型 | 必填 | 说明 | 432| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ | 433| ctx | [Context](js-apis-Context.md) | 是 | 当前应用上下文信息。 | 434| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前应用内最后显示的窗口对象。 | 435 436**示例:** 437 438```js 439var windowClass = null; 440window.getTopWindow(this.context, (err, data) => { 441 if (err.code) { 442 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); 443 return; 444 } 445 windowClass = data; 446 console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); 447}); 448``` 449 450## window.getTopWindow<sup>8+</sup> 451 452getTopWindow(ctx: Context): Promise<Window> 453 454获取当前应用内最后显示的窗口,使用Promise异步回调。 455 456**系统能力:** SystemCapability.WindowManager.WindowManager.Core 457 458**参数:** 459 460| 参数名 | 类型 | 必填 | 说明 | 461| ------ | ------- | ---- | ------------------------------------------------------------ | 462| ctx | [Context](js-apis-Context.md) | 是 | 当前应用上下文信息。 | 463 464**返回值:** 465 466| 类型 | 说明 | 467| -------------------------------- | ----------------------------------------------- | 468| Promise<[Window](#window)> | Promise对象。返回当前应用内最后显示的窗口对象。 | 469 470**示例:** 471 472```js 473var windowClass = null; 474let promise = window.getTopWindow(this.context); 475promise.then((data)=> { 476 windowClass = data; 477 console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data)); 478}).catch((err)=>{ 479 console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err)); 480}) 481``` 482 483## on('systemBarTintChange')<sup>8+</sup> 484 485on(type: 'systemBarTintChange', callback: Callback<SystemBarTintState>): void 486 487开启状态栏、导航栏属性变化的监听。 488 489**系统接口:** 此接口为系统接口,三方应用不支持调用。 490 491**系统能力:** SystemCapability.WindowManager.WindowManager.Core 492 493**参数:** 494 495| 参数名 | 类型 | 必填 | 说明 | 496| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | 497| type | string | 是 | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 | 498| callback | Callback<[SystemBarTintState](#systembartintstate8)> | 是 | 回调函数。返回当前的状态栏、导航栏信息集合。 | 499 500**示例:** 501 502```js 503window.on('systemBarTintChange', (data) => { 504 console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data)); 505}); 506``` 507 508## off('systemBarTintChange')<sup>8+</sup> 509 510off(type: 'systemBarTintChange', callback?: Callback<SystemBarTintState >): void 511 512关闭状态栏、导航栏属性变化的监听。 513 514**系统接口:** 此接口为系统接口,三方应用不支持调用。 515 516**系统能力:** SystemCapability.WindowManager.WindowManager.Core 517 518**参数:** 519 520| 参数名 | 类型 | 必填 | 说明 | 521| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ | 522| type | string | 是 | 监听事件,固定为'systemBarTintChange',即导航栏、状态栏属性变化事件。 | 523| callback | Callback<[SystemBarTintState](#systembartintstate8)> | 否 | 回调函数。返回当前的状态栏、导航栏信息集合。 | 524 525**示例:** 526 527```js 528window.off('systemBarTintChange'); 529``` 530 531## Window 532 533当前窗口实例,窗口管理器管理的基本单元。 534 535下列API示例中都需先使用[getTopWindow()](#windowgettopwindow)、[create()](#windowcreate7)、[find()](#windowfind7)中的任一方法获取到Window实例,再通过此实例调用对应方法。 536 537### hide<sup>7+</sup> 538 539hide (callback: AsyncCallback<void>): void 540 541隐藏当前窗口,使用callback异步回调。 542 543**系统接口:** 此接口为系统接口,三方应用不支持调用。 544 545**系统能力:** SystemCapability.WindowManager.WindowManager.Core 546 547**参数:** 548 549| 参数名 | 类型 | 必填 | 说明 | 550| -------- | ------------------------- | ---- | ---------- | 551| callback | AsyncCallback<void> | 是 | 回调函数。 | 552 553**示例:** 554 555```js 556windowClass.hide((err, data) => { 557 if (err.code) { 558 console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); 559 return; 560 } 561 console.info('Succeeded in hiding the window. data: ' + JSON.stringify(data)); 562}) 563``` 564 565### hide<sup>7+</sup> 566 567hide(): Promise<void> 568 569隐藏当前窗口,使用Promise异步回调。 570 571**系统接口:** 此接口为系统接口,三方应用不支持调用。 572 573**系统能力:** SystemCapability.WindowManager.WindowManager.Core 574 575**返回值:** 576 577| 类型 | 说明 | 578| ------------------- | ------------------------- | 579| Promise<void> | 无返回结果的Promise对象。 | 580 581**示例:** 582 583```js 584let promise = windowClass.hide(); 585promise.then((data)=> { 586 console.info('Succeeded in hiding the window. Data: ' + JSON.stringify(data)); 587}).catch((err)=>{ 588 console.error('Failed to hide the window. Cause: ' + JSON.stringify(err)); 589}) 590``` 591 592### show<sup>7+</sup> 593 594show(callback: AsyncCallback<void>): void 595 596显示当前窗口,使用callback异步回调。 597 598**系统能力:** SystemCapability.WindowManager.WindowManager.Core 599 600**参数:** 601 602| 参数名 | 类型 | 必填 | 说明 | 603| -------- | ------------------------- | ---- | ---------- | 604| callback | AsyncCallback<void> | 是 | 回调函数。 | 605 606**示例:** 607 608```js 609windowClass.show((err, data) => { 610 if (err.code) { 611 console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); 612 return; 613 } 614 console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data)); 615}) 616``` 617 618### show<sup>7+</sup> 619 620show(): Promise<void> 621 622显示当前窗口,使用Promise异步回调。 623 624**系统能力:** SystemCapability.WindowManager.WindowManager.Core 625 626**返回值:** 627 628| 类型 | 说明 | 629| ------------------- | ------------------------- | 630| Promise<void> | 无返回结果的Promise对象。 | 631 632**示例:** 633 634```js 635let promise = windowClass.show(); 636promise.then((data)=> { 637 console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data)); 638}).catch((err)=>{ 639 console.error('Failed to show the window. Cause: ' + JSON.stringify(err)); 640}) 641``` 642 643### destroy<sup>7+</sup> 644 645destroy(callback: AsyncCallback<void>): void 646 647销毁当前窗口,使用callback异步回调。 648 649**系统能力:** SystemCapability.WindowManager.WindowManager.Core 650 651**参数:** 652 653| 参数名 | 类型 | 必填 | 说明 | 654| -------- | ------------------------- | ---- | ---------- | 655| callback | AsyncCallback<void> | 是 | 回调函数。 | 656 657**示例:** 658 659```js 660windowClass.destroy((err, data) => { 661 if (err.code) { 662 console.error('Failed to destroy the window. Cause:' + JSON.stringify(err)); 663 return; 664 } 665 console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data)); 666}) 667``` 668 669### destroy<sup>7+</sup> 670 671destroy(): Promise<void> 672 673销毁当前窗口,使用Promise异步回调。 674 675**系统能力:** SystemCapability.WindowManager.WindowManager.Core 676 677**返回值:** 678 679| 类型 | 说明 | 680| ------------------- | ------------------------- | 681| Promise<void> | 无返回结果的Promise对象。 | 682 683**示例:** 684 685```js 686let promise = windowClass.destroy(); 687promise.then((data)=> { 688 console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data)); 689}).catch((err)=>{ 690 console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err)); 691}) 692``` 693 694### moveTo<sup>7+</sup> 695 696moveTo(x: number, y: number, callback: AsyncCallback<void>): void 697 698移动窗口位置,使用callback异步回调。 699 700**系统能力:** SystemCapability.WindowManager.WindowManager.Core 701 702**参数:** 703 704| 参数名 | 类型 | 必填 | 说明 | 705| -------- | ------------------------- | ---- | ------------------------------------------------- | 706| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 | 707| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 | 708| callback | AsyncCallback<void> | 是 | 回调函数。 | 709 710**示例:** 711 712```js 713windowClass.moveTo(300, 300, (err, data)=>{ 714 if (err.code) { 715 console.error('Failed to move the window. Cause:' + JSON.stringify(err)); 716 return; 717 } 718 console.info('Succeeded in moving the window. Data: ' + JSON.stringify(data)); 719 720}); 721``` 722 723### moveTo<sup>7+</sup> 724 725moveTo(x: number, y: number): Promise<void> 726 727移动窗口位置,使用Promise异步回调。 728 729**系统能力:** SystemCapability.WindowManager.WindowManager.Core 730 731**参数:** 732 733| 参数名 | 类型 | 必填 | 说明 | 734| ------ | ------ | ---- | ------------------------------------------------- | 735| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 | 736| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 | 737 738**返回值:** 739 740| 类型 | 说明 | 741| ------------------- | ------------------------- | 742| Promise<void> | 无返回结果的Promise对象。 | 743 744**示例:** 745 746```js 747let promise = windowClass.moveTo(300, 300); 748promise.then((data)=> { 749 console.info('Succeeded in moving the window. Data: ' + JSON.stringify(data)); 750}).catch((err)=>{ 751 console.error('Failed to move the window. Cause: ' + JSON.stringify(err)); 752}) 753``` 754 755### resetSize<sup>7+</sup> 756 757resetSize(width: number, height: number, callback: AsyncCallback<void>): void 758 759改变当前窗口大小,使用callback异步回调。 760 761应用主窗口与子窗口存在大小限制,宽度范围:[320,2560],高度范围:[240,2560],单位为vp。 762 763系统窗口存在大小限制,宽度范围:[0,2560],高度范围:[0,2560],单位为vp。 764 765**系统能力:** SystemCapability.WindowManager.WindowManager.Core 766 767**参数:** 768 769| 参数名 | 类型 | 必填 | 说明 | 770| -------- | ------------------------- | ---- | -------------------------- | 771| width | number | 是 | 目标窗口的宽度,单位为px。 | 772| height | number | 是 | 目标窗口的高度,单位为px。 | 773| callback | AsyncCallback<void> | 是 | 回调函数。 | 774 775**示例:** 776 777```js 778windowClass.resetSize(500, 1000, (err, data) => { 779 if (err.code) { 780 console.error('Failed to change the window size. Cause:' + JSON.stringify(err)); 781 return; 782 } 783 console.info('Succeeded in changing the window size. Data: ' + JSON.stringify(data)); 784}); 785``` 786 787### resetSize<sup>7+</sup> 788 789resetSize(width: number, height: number): Promise<void> 790 791改变当前窗口大小,使用Promise异步回调。 792 793应用主窗口与子窗口存在大小限制,宽度范围:[320,2560],高度范围:[240,2560],单位为vp。 794 795系统窗口存在大小限制,宽度范围:[0,2560],高度范围:[0,2560],单位为vp。 796 797**系统能力:** SystemCapability.WindowManager.WindowManager.Core 798 799**参数:** 800 801| 参数名 | 类型 | 必填 | 说明 | 802| ------ | ------ | ---- | -------------------------- | 803| width | number | 是 | 目标窗口的宽度,单位为px。 | 804| height | number | 是 | 目标窗口的高度,单位为px。 | 805 806**返回值:** 807 808| 类型 | 说明 | 809| ------------------- | ------------------------- | 810| Promise<void> | 无返回结果的Promise对象。 | 811 812**示例:** 813 814```js 815let promise = windowClass.resetSize(500, 1000); 816promise.then((data)=> { 817 console.info('Succeeded in changing the window size. Data: ' + JSON.stringify(data)); 818}).catch((err)=>{ 819 console.error('Failed to change the window size. Cause: ' + JSON.stringify(err)); 820}); 821``` 822 823### setWindowType<sup>7+</sup> 824 825setWindowType(type: WindowType, callback: AsyncCallback<void>): void 826 827设置窗口类型,使用callback异步回调。 828 829**系统接口:** 此接口为系统接口,三方应用不支持调用。 830 831**系统能力:** SystemCapability.WindowManager.WindowManager.Core 832 833**参数:** 834 835| 参数名 | 类型 | 必填 | 说明 | 836| -------- | ------------------------- | ---- | ---------- | 837| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 838| callback | AsyncCallback<void> | 是 | 回调函数。 | 839 840**示例:** 841 842```js 843var type = window.WindowType.TYPE_APP; 844windowClass.setWindowType(type, (err, data) => { 845 if (err.code) { 846 console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); 847 return; 848 } 849 console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data)); 850}); 851``` 852 853### setWindowType<sup>7+</sup> 854 855setWindowType(type: WindowType): Promise<void> 856 857设置窗口类型,使用Promise异步回调。 858 859**系统接口:** 此接口为系统接口,三方应用不支持调用。 860 861**系统能力:** SystemCapability.WindowManager.WindowManager.Core 862 863**参数:** 864 865| 参数名 | 类型 | 必填 | 说明 | 866| ------ | ------------------------- | ---- | ---------- | 867| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | 868 869**返回值:** 870 871| 类型 | 说明 | 872| ------------------- | ------------------------- | 873| Promise<void> | 无返回结果的Promise对象。 | 874 875**示例:** 876 877```js 878var type = window.WindowType.TYPE_APP; 879let promise = windowClass.setWindowType(type); 880promise.then((data)=> { 881 console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data)); 882}).catch((err)=>{ 883 console.error('Failed to set the window type. Cause: ' + JSON.stringify(err)); 884}); 885``` 886 887### getProperties 888 889getProperties(callback: AsyncCallback<WindowProperties>): void 890 891获取当前窗口的属性,使用callback异步回调,返回WindowProperties。 892 893**系统能力:** SystemCapability.WindowManager.WindowManager.Core 894 895**参数:** 896 897| 参数名 | 类型 | 必填 | 说明 | 898| -------- | ---------------------------------------------------------- | ---- | ---------------------------- | 899| callback | AsyncCallback<[WindowProperties](#windowproperties)> | 是 | 回调函数。返回当前窗口属性。 | 900 901**示例:** 902 903```js 904windowClass.getProperties((err, data) => { 905 if (err.code) { 906 console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err)); 907 return; 908 } 909 console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data)); 910}); 911``` 912 913### getProperties 914 915getProperties(): Promise<WindowProperties> 916 917获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。 918 919**系统能力:** SystemCapability.WindowManager.WindowManager.Core 920 921**返回值:** 922 923| 类型 | 说明 | 924| ---------------------------------------------------- | ------------------------------- | 925| Promise<[WindowProperties](#windowproperties)> | Promise对象。返回当前窗口属性。 | 926 927**示例:** 928 929```js 930let promise = windowClass.getProperties(); 931promise.then((data)=> { 932 console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data)); 933}).catch((err)=>{ 934 console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err)); 935}); 936``` 937 938### getAvoidArea<sup>7+</sup> 939 940getAvoidArea(type: AvoidAreaType, callback: AsyncCallback<AvoidArea>): void 941 942获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用callback异步回调。 943 944**系统能力:** SystemCapability.WindowManager.WindowManager.Core 945 946**参数:** 947 948| 参数名 | 类型 | 必填 | 说明 | 949| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ | 950| type | [AvoidAreaType](#avoidareatype) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 | 951| callback | AsyncCallback<[AvoidArea](#avoidarea)> | 是 | 回调函数。返回窗口内容规避区域。 | 952 953**示例:** 954 955```js 956var type = window.AvoidAreaType.TYPE_SYSTEM; 957windowClass.getAvoidArea(type, (err, data) => { 958 if (err.code) { 959 console.error('Failed to obtain the area. Cause:' + JSON.stringify(err)); 960 return; 961 } 962 console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data)); 963}); 964``` 965 966### getAvoidArea<sup>7+</sup> 967 968getAvoidArea(type: AvoidAreaType): Promise<AvoidArea> 969 970获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用Promise异步回调。 971 972**系统能力:** SystemCapability.WindowManager.WindowManager.Core 973 974**参数:** 975 976| 参数名 | 类型 | 必填 | 说明 | 977| ------ | ------------------------------- | ---- | ------------------------------------------------------------ | 978| type | [AvoidAreaType](#avoidareatype) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 | 979 980**返回值:** 981 982| 类型 | 说明 | 983| -------------------------------------- | ----------------------------------- | 984| Promise<[AvoidArea](#avoidarea)> | Promise对象。返回窗口内容规避区域。 | 985 986**示例:** 987 988```js 989var type = window.AvoidAreaType.TYPE_SYSTEM; 990let promise = windowClass.getAvoidArea(type); 991promise.then((data)=> { 992 console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data)); 993}).catch((err)=>{ 994 console.error('Failed to obtain the area. Cause:' + JSON.stringify(err)); 995}); 996``` 997 998### setFullScreen 999 1000setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void 1001 1002设置是否为全屏状态,使用callback异步回调。 1003 1004**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1005 1006**参数:** 1007 1008| 参数名 | 类型 | 必填 | 说明 | 1009| ------------ | ------------------------- | ---- | ---------------------------------------------- | 1010| isFullScreen | boolean | 是 | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 | 1011| callback | AsyncCallback<void> | 是 | 回调函数。 | 1012 1013**示例:** 1014 1015```js 1016var isFullScreen = true; 1017windowClass.setFullScreen(isFullScreen, (err, data) => { 1018 if (err.code) { 1019 console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); 1020 return; 1021 } 1022 console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data)); 1023}); 1024``` 1025 1026### setFullScreen 1027 1028setFullScreen(isFullScreen: boolean): Promise<void> 1029 1030设置是否为全屏状态,使用Promise异步回调。 1031 1032**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1033 1034**参数:** 1035 1036| 参数名 | 类型 | 必填 | 说明 | 1037| ------------ | ------- | ---- | ---------------------------------------------- | 1038| isFullScreen | boolean | 是 | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 | 1039 1040**返回值:** 1041 1042| 类型 | 说明 | 1043| ------------------- | ------------------------- | 1044| Promise<void> | 无返回结果的Promise对象。 | 1045 1046**示例:** 1047 1048```js 1049var isFullScreen = true; 1050let promise = windowClass.setFullScreen(isFullScreen); 1051promise.then((data)=> { 1052 console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data)); 1053}).catch((err)=>{ 1054 console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err)); 1055}); 1056``` 1057 1058### setLayoutFullScreen<sup>7+</sup> 1059 1060setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void 1061 1062设置窗口的布局是否为全屏显示状态,使用callback异步回调。 1063 1064**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1065 1066**参数:** 1067 1068| 参数名 | 类型 | 必填 | 说明 | 1069| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ | 1070| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 | 1071| callback | AsyncCallback<void> | 是 | 回调函数。 | 1072 1073**示例:** 1074 1075```js 1076var isLayoutFullScreen= true; 1077windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => { 1078 if (err.code) { 1079 console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); 1080 return; 1081 } 1082 console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data)); 1083}); 1084``` 1085 1086### setLayoutFullScreen<sup>7+</sup> 1087 1088setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void> 1089 1090设置窗口的布局是否为全屏显示状态,使用Promise异步回调。 1091 1092**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1093 1094**参数:** 1095 1096| 参数名 | 类型 | 必填 | 说明 | 1097| ------------------ | ------- | ---- | ------------------------------------------------------------ | 1098| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 | 1099 1100**返回值:** 1101 1102| 类型 | 说明 | 1103| ------------------- | ------------------------- | 1104| Promise<void> | 无返回结果的Promise对象。 | 1105 1106**示例:** 1107 1108```js 1109var isLayoutFullScreen = true; 1110let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen); 1111promise.then((data)=> { 1112 console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data)); 1113}).catch((err)=>{ 1114 console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err)); 1115}); 1116``` 1117 1118### setSystemBarEnable<sup>7+</sup> 1119 1120setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void 1121 1122设置导航栏、状态栏的可见模式,使用callback异步回调。 1123 1124**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1125 1126**参数:** 1127 1128| 参数名 | 类型 | 必填 | 说明 | 1129| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 1130| names | Array | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为["status", "navigation"];不设置,则默认不显示。 | 1131| callback | AsyncCallback<void> | 是 | 回调函数。 | 1132 1133**示例:** 1134 1135```js 1136// 此处以不显示导航栏、状态栏为例 1137var names = []; 1138windowClass.setSystemBarEnable(names, (err, data) => { 1139 if (err.code) { 1140 console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err)); 1141 return; 1142 } 1143 console.info('Succeeded in setting the system bar to be invisible. Data: ' + JSON.stringify(data)); 1144}); 1145``` 1146 1147### setSystemBarEnable<sup>7+</sup> 1148 1149setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void> 1150 1151设置导航栏、状态栏的可见模式,使用Promise异步回调。 1152 1153**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1154 1155**参数:** 1156 1157| 参数名 | 类型 | 必填 | 说明 | 1158| ------ | ----- | ---- | ------------------------------------------------------------ | 1159| names | Array | 是 | 设置状态栏和导航栏是否显示。<br>例如,需全部显示,该参数设置为["status", "navigation"];不设置,则默认不显示。 | 1160 1161**返回值:** 1162 1163| 类型 | 说明 | 1164| ------------------- | ------------------------- | 1165| Promise<void> | 无返回结果的Promise对象。 | 1166 1167**示例:** 1168 1169```js 1170// 此处以不显示导航栏、状态栏为例 1171var names = []; 1172let promise = windowClass.setSystemBarEnable(names); 1173promise.then((data)=> { 1174 console.info('Succeeded in setting the system bar to be invisible. Data: ' + JSON.stringify(data)); 1175}).catch((err)=>{ 1176 console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err)); 1177}); 1178``` 1179 1180### setSystemBarProperties 1181 1182setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void 1183 1184设置窗口内导航栏、状态栏的属性,使用callback异步回调。 1185 1186**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1187 1188**参数:** 1189 1190| 参数名 | 类型 | 必填 | 说明 | 1191| ------------------- | ------------------------------------------- | ---- | ---------------------- | 1192| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | 1193| callback | AsyncCallback<void> | 是 | 回调函数。 | 1194 1195**示例:** 1196 1197```js 1198var SystemBarProperties={ 1199 statusBarColor: '#ff00ff', 1200 navigationBarColor: '#00ff00', 1201 //以下两个属性从API Version8开始支持 1202 statusBarContentColor:'#ffffff', 1203 navigationBarContentColor:'#00ffff' 1204}; 1205windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => { 1206 if (err.code) { 1207 console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); 1208 return; 1209 } 1210 console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data)); 1211}); 1212``` 1213 1214### setSystemBarProperties 1215 1216setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void> 1217 1218设置窗口内导航栏、状态栏的属性,使用Promise异步回调。 1219 1220**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1221 1222**参数:** 1223 1224| 参数名 | 类型 | 必填 | 说明 | 1225| ------------------- | ------------------------------------------- | ---- | ---------------------- | 1226| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | 1227 1228**返回值:** 1229 1230| 类型 | 说明 | 1231| ------------------- | ------------------------- | 1232| Promise<void> | 无返回结果的Promise对象。 | 1233 1234**示例:** 1235 1236```js 1237var SystemBarProperties={ 1238 statusBarColor: '#ff00ff', 1239 navigationBarColor: '#00ff00', 1240 //以下两个属性从API Version8开始支持 1241 statusBarContentColor:'#ffffff', 1242 navigationBarContentColor:'#00ffff' 1243}; 1244let promise = windowClass.setSystemBarProperties(SystemBarProperties); 1245promise.then((data)=> { 1246 console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data)); 1247}).catch((err)=>{ 1248 console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err)); 1249}); 1250``` 1251 1252### loadContent<sup>7+</sup> 1253 1254loadContent(path: string, callback: AsyncCallback<void>): void 1255 1256为当前窗口加载具体页面内容,使用callback异步回调。 1257 1258**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1259 1260**参数:** 1261 1262| 参数名 | 类型 | 必填 | 说明 | 1263| -------- | ------------------------- | ---- | -------------------- | 1264| path | string | 是 | 设置加载页面的路径。 | 1265| callback | AsyncCallback<void> | 是 | 回调函数。 | 1266 1267**示例:** 1268 1269```js 1270windowClass.loadContent("pages/page2/page2", (err, data) => { 1271 if (err.code) { 1272 console.error('Failed to load the content. Cause:' + JSON.stringify(err)); 1273 return; 1274 } 1275 console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)); 1276}); 1277``` 1278 1279### loadContent<sup>7+</sup> 1280 1281loadContent(path: string): Promise<void> 1282 1283为当前窗口加载具体页面内容,使用Promise异步回调。 1284 1285**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1286 1287**参数:** 1288 1289| 参数名 | 类型 | 必填 | 说明 | 1290| ------ | ------ | ---- | -------------------- | 1291| path | string | 是 | 设置加载页面的路径。 | 1292 1293**返回值:** 1294 1295| 类型 | 说明 | 1296| ------------------- | ------------------------- | 1297| Promise<void> | 无返回结果的Promise对象。 | 1298 1299**示例:** 1300 1301```js 1302let promise = windowClass.loadContent("pages/page2/page2"); 1303promise.then((data)=> { 1304 console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data)); 1305}).catch((err)=>{ 1306 console.error('Failed to load the content. Cause: ' + JSON.stringify(err)); 1307}); 1308``` 1309### isShowing<sup>7+</sup> 1310 1311isShowing(callback: AsyncCallback<boolean>): void 1312 1313判断当前窗口是否已显示,使用callback异步回调。 1314 1315**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1316 1317**参数:** 1318 1319| 参数名 | 类型 | 必填 | 说明 | 1320| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 1321| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示当前窗口已显示,返回false则表示当前窗口未显示。 | 1322 1323**示例:** 1324 1325```js 1326windowClass.isShowing((err, data) => { 1327 if (err.code) { 1328 console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err)); 1329 return; 1330 } 1331 console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data)); 1332}); 1333``` 1334 1335### isShowing<sup>7+</sup> 1336 1337isShowing(): Promise<boolean> 1338 1339判断当前窗口是否已显示,使用Promise异步回调。 1340 1341**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1342 1343**返回值:** 1344 1345| 类型 | 说明 | 1346| ---------------------- | ------------------------------------------------------------ | 1347| Promise<boolean> | Promise对象。返回true表示当前窗口已显示,返回false则表示当前窗口未显示。 | 1348 1349**示例:** 1350 1351```js 1352let promise = windowClass.isShowing(); 1353promise.then((data)=> { 1354 console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data)); 1355}).catch((err)=>{ 1356 console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err)); 1357}); 1358``` 1359 1360### on('windowSizeChange')<sup>7+</sup> 1361 1362on(type: 'windowSizeChange', callback: Callback<Size>): void 1363 1364开启窗口尺寸变化的监听。 1365 1366**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1367 1368**参数:** 1369 1370| 参数名 | 类型 | 必填 | 说明 | 1371| -------- | ------------------------------ | ---- | -------------------------------------------------------- | 1372| type | string | 是 | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 | 1373| callback | Callback<[Size](#size7)> | 是 | 回调函数。返回当前的窗口尺寸。 | 1374 1375**示例:** 1376 1377```js 1378windowClass.on('windowSizeChange', (data) => { 1379 console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data)); 1380}); 1381``` 1382 1383### off('windowSizeChange')<sup>7+</sup> 1384 1385off(type: 'windowSizeChange', callback?: Callback<Size >): void 1386 1387关闭窗口尺寸变化的监听。 1388 1389**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1390 1391**参数:** 1392 1393| 参数名 | 类型 | 必填 | 说明 | 1394| -------- | ----------------------------- | ---- | -------------------------------------------------------- | 1395| type | string | 是 | 监听事件,固定为'windowSizeChange',即窗口尺寸变化事件。 | 1396| callback | Callback<[Size](#size)> | 否 | 回调函数。返回当前的窗口尺寸。 | 1397 1398**示例:** 1399 1400```js 1401windowClass.off('windowSizeChange'); 1402``` 1403 1404### on('systemAvoidAreaChange')<sup>7+</sup> 1405 1406on(type: 'systemAvoidAreaChange', callback: Callback<AvoidArea>): void 1407 1408开启系统窗口规避区变化的监听。 1409 1410**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1411 1412**参数:** 1413 1414| 参数名 | 类型 | 必填 | 说明 | 1415| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 1416| type | string | 是 | 监听事件,固定为'systemAvoidAreaChange',即系统窗口规避区变化事件。 | 1417| callback | Callback<[AvoidArea](#avoidarea)> | 是 | 回调函数。返回当前的窗口规避区。 | 1418 1419**示例:** 1420 1421```js 1422windowClass.on('systemAvoidAreaChange', (data) => { 1423 console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data)); 1424}); 1425``` 1426 1427### off('systemAvoidAreaChange')<sup>7+</sup> 1428 1429off(type: 'systemAvoidAreaChange', callback?: Callback<AvoidArea>): void 1430 1431关闭系统窗口规避区变化的监听。 1432 1433**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1434 1435**参数:** 1436 1437| 参数名 | 类型 | 必填 | 说明 | 1438| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ | 1439| type | string | 是 | 监听事件,固定为'systemAvoidAreaChange',即系统窗口规避区变化事件。 | 1440| callback | Callback<[AvoidArea](#avoidarea)> | 否 | 回调函数。返回当前的窗口规避区。 | 1441 1442**示例:** 1443 1444```js 1445windowClass.off('systemAvoidAreaChange'); 1446``` 1447 1448### on('keyboardHeightChange')<sup>7+</sup> 1449 1450on(type: 'keyboardHeightChange', callback: Callback<number>): void 1451 1452开启键盘高度变化的监听。 1453 1454**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1455 1456**参数:** 1457 1458| 参数名 | 类型 | 必填 | 说明 | 1459| -------- | ------------------- | ---- | ------------------------------------------------------------ | 1460| type | string | 是 | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 | 1461| callback | Callback<number> | 是 | 回调函数。返回当前的键盘高度。 | 1462 1463**示例:** 1464 1465```js 1466windowClass.on('keyboardHeightChange', (data) => { 1467 console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data)); 1468}); 1469``` 1470 1471### off('keyboardHeightChange')<sup>7+</sup> 1472 1473off(type: 'keyboardHeightChange', callback?: Callback<number>): void 1474 1475关闭键盘高度变化的监听。 1476 1477**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1478 1479**参数:** 1480 1481| 参数名 | 类型 | 必填 | 说明 | 1482| -------- | ---------------------- | ---- | ------------------------------------------------------------ | 1483| type | string | 是 | 监听事件,固定为'keyboardHeightChange',即键盘高度变化事件。 | 1484| callback | Callback<number> | 否 | 回调函数。返回当前的键盘高度。 | 1485 1486**示例:** 1487 1488```js 1489windowClass.off('keyboardHeightChange'); 1490``` 1491 1492### isSupportWideGamut<sup>8+</sup> 1493 1494isSupportWideGamut(callback: AsyncCallback<boolean>): void 1495 1496判断当前窗口是否支持广色域模式,使用callback异步回调。 1497 1498**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1499 1500**参数:** 1501 1502| 参数名 | 类型 | 必填 | 说明 | 1503| -------- | ---------------------------- | ---- | ------------------------------------------------------------ | 1504| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 | 1505 1506**示例:** 1507 1508```js 1509windowClass.isSupportWideGamut((err, data) => { 1510 if (err.code) { 1511 console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err)); 1512 return; 1513 } 1514 console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data)); 1515}) 1516``` 1517 1518### isSupportWideGamut<sup>8+</sup> 1519 1520isSupportWideGamut(): Promise<boolean> 1521 1522判断当前窗口是否支持广色域模式,使用Promise异步回调。 1523 1524**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1525 1526**返回值:** 1527 1528| 类型 | 说明 | 1529| ---------------------- | ------------------------------------------------------------ | 1530| Promise<boolean> | Promise对象。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 | 1531 1532**示例:** 1533 1534```js 1535let promise = windowClass.isSupportWideGamut(); 1536promise.then((data)=> { 1537 console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data)); 1538}).catch((err)=>{ 1539 console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err)); 1540}); 1541``` 1542 1543### setColorSpace<sup>8+</sup> 1544 1545setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void 1546 1547设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。 1548 1549**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1550 1551**参数:** 1552 1553| 参数名 | 类型 | 必填 | 说明 | 1554| ---------- | ------------------------- | ---- | ------------ | 1555| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式 | 1556| callback | AsyncCallback<void> | 是 | 回调函数。 | 1557 1558**示例:** 1559 1560```js 1561windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => { 1562 if (err.code) { 1563 console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err)); 1564 return; 1565 } 1566 console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data)); 1567}) 1568``` 1569 1570### setColorSpace<sup>8+</sup> 1571 1572setColorSpace(colorSpace:ColorSpace): Promise<void> 1573 1574设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。 1575 1576**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1577 1578**参数:** 1579 1580| 参数名 | 类型 | 必填 | 说明 | 1581| ---------- | ------------------------- | ---- | -------------- | 1582| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式。 | 1583 1584**返回值:** 1585 1586| 类型 | 说明 | 1587| ------------------- | ------------------------- | 1588| Promise<void> | 无返回结果的Promise对象。 | 1589 1590**示例:** 1591 1592```js 1593let promise = windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT); 1594promise.then((data)=> { 1595 console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data)); 1596}).catch((err)=>{ 1597 console.error('Failed to set window colorspace. Cause: ' + JSON.stringify(err)); 1598}); 1599``` 1600 1601### getColorSpace<sup>8+</sup> 1602 1603getColorSpace(callback: AsyncCallback<ColorSpace>): void 1604 1605获取当前窗口色域模式,使用callback异步回调。 1606 1607**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1608 1609**参数:** 1610 1611| 参数名 | 类型 | 必填 | 说明 | 1612| -------- | ---------------------------------------------- | ---- | ---------------------------------------------------------- | 1613| callback | AsyncCallback<[ColorSpace](#colorspace)> | 是 | 回调函数。当获取成功,err为undefined,data为当前色域模式。 | 1614 1615**示例:** 1616 1617```js 1618windowClass.getColorSpace((err, data) => { 1619 if (err.code) { 1620 console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err)); 1621 return; 1622 } 1623 console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data)); 1624}) 1625``` 1626 1627### getColorSpace<sup>8+</sup> 1628 1629getColorSpace(): Promise<ColorSpace> 1630 1631获取当前窗口色域模式,使用Promise异步回调。 1632 1633**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1634 1635**返回值:** 1636 1637| 类型 | 说明 | 1638| ---------------------------------------- | ------------------------------- | 1639| Promise<[ColorSpace](#colorspace)> | Promise对象。返回当前色域模式。 | 1640 1641**示例:** 1642 1643```js 1644let promise = windowClass.getColorSpace(); 1645promise.then((data)=> { 1646 console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data)); 1647}).catch((err)=>{ 1648 console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err)); 1649}); 1650``` 1651 1652### setBackgroundColor 1653 1654setBackgroundColor(color: string, callback: AsyncCallback<void>): void 1655 1656设置窗口的背景色,使用callback异步回调。 1657 1658**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1659 1660**参数:** 1661 1662| 参数名 | 类型 | 必填 | 说明 | 1663| -------- | ------------------------- | ---- | ------------------------------------------------------------ | 1664| color | string | 是 | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | 1665| callback | AsyncCallback<void> | 是 | 回调函数。 | 1666 1667**示例:** 1668 1669```js 1670var color = '#00ff33'; 1671windowClass.setBackgroundColor(color, (err, data) => { 1672 if (err.code) { 1673 console.error('Failed to set the background color. Cause: ' + JSON.stringify(err)); 1674 return; 1675 } 1676 console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data)); 1677}); 1678``` 1679 1680### setBackgroundColor 1681 1682setBackgroundColor(color: string): Promise<void> 1683 1684设置窗口的背景色,使用Promise异步回调。 1685 1686**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1687 1688**参数:** 1689 1690| 参数名 | 类型 | 必填 | 说明 | 1691| ------ | ------ | ---- | ------------------------------------------------------------ | 1692| color | string | 是 | 需要设置的背景色,为十六进制RGB或ARGB颜色,不区分大小写,例如"#00FF00"或"#FF00FF00"。 | 1693 1694**返回值:** 1695 1696| 类型 | 说明 | 1697| ------------------- | ------------------------- | 1698| Promise<void> | 无返回结果的Promise对象。 | 1699 1700**示例:** 1701 1702```js 1703var color = '#00ff33'; 1704let promise = windowClass.setBackgroundColor(color); 1705promise.then((data)=> { 1706 console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data)); 1707}).catch((err)=>{ 1708 console.error('Failed to set the background color. Cause: ' + JSON.stringify(err)); 1709}); 1710``` 1711 1712### setBrightness 1713 1714setBrightness(brightness: number, callback: AsyncCallback<void>): void 1715 1716设置屏幕亮度值,使用callback异步回调。 1717 1718**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1719 1720**参数:** 1721 1722| 参数名 | 类型 | 必填 | 说明 | 1723| ---------- | ------------------------- | ---- | ------------------------------------ | 1724| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 | 1725| callback | AsyncCallback<void> | 是 | 回调函数。 | 1726 1727**示例:** 1728 1729```js 1730var brightness = 1; 1731windowClass.setBrightness(brightness, (err, data) => { 1732 if (err.code) { 1733 console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err)); 1734 return; 1735 } 1736 console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data)); 1737}); 1738``` 1739 1740### setBrightness 1741 1742setBrightness(brightness: number): Promise<void> 1743 1744设置屏幕亮度值,使用Promise异步回调。 1745 1746**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1747 1748**参数:** 1749 1750| 参数名 | 类型 | 必填 | 说明 | 1751| ---------- | ------ | ---- | ------------------------------------ | 1752| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 | 1753 1754**返回值:** 1755 1756| 类型 | 说明 | 1757| ------------------- | ------------------------- | 1758| Promise<void> | 无返回结果的Promise对象。 | 1759 1760**示例:** 1761 1762```js 1763var brightness = 1; 1764let promise = windowClass.setBrightness(brightness); 1765promise.then((data)=> { 1766 console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data)); 1767}).catch((err)=>{ 1768 console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err)); 1769}); 1770``` 1771 1772### setDimBehind<sup>7+</sup> 1773 1774setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void 1775 1776窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback异步回调。 1777 1778> **说明:** 该接口不支持使用。 1779 1780 1781**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1782 1783**参数:** 1784 1785| 参数名 | 类型 | 必填 | 说明 | 1786| -------------- | ------------------------- | ---- | -------------------------------------------------- | 1787| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 | 1788| callback | AsyncCallback<void> | 是 | 回调函数。 | 1789 1790**示例:** 1791 1792```js 1793windowClass.setDimBehind(0.5, (err, data) => { 1794 if (err.code) { 1795 console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err)); 1796 return; 1797 } 1798 console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data)); 1799}); 1800``` 1801 1802### setDimBehind<sup>7+</sup> 1803 1804setDimBehind(dimBehindValue: number): Promise<void> 1805 1806窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise异步回调。 1807 1808> **说明:** 该接口不支持使用。 1809 1810 1811**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1812 1813**参数:** 1814 1815| 参数名 | 类型 | 必填 | 说明 | 1816| -------------- | ------ | ---- | -------------------------------------------------- | 1817| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 | 1818 1819**返回值:** 1820 1821| 类型 | 说明 | 1822| ------------------- | ------------------------- | 1823| Promise<void> | 无返回结果的Promise对象。 | 1824 1825**示例:** 1826 1827```js 1828let promise = windowClass.setDimBehind(0.5); 1829promise.then((data)=> { 1830 console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data)); 1831}).catch((err)=>{ 1832 console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err)); 1833}); 1834``` 1835 1836### setFocusable<sup>7+</sup> 1837 1838setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void 1839 1840设置点击时是否支持切换焦点窗口,使用callback异步回调。 1841 1842**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1843 1844**参数:** 1845 1846| 参数名 | 类型 | 必填 | 说明 | 1847| ----------- | ------------------------- | ---- | ---------------------------- | 1848| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 | 1849| callback | AsyncCallback<void> | 是 | 回调函数。 | 1850 1851**示例:** 1852 1853```js 1854var isFocusable= true; 1855windowClass.setFocusable(isFocusable, (err, data) => { 1856 if (err.code) { 1857 console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err)); 1858 return; 1859 } 1860 console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data)); 1861}); 1862``` 1863 1864### setFocusable<sup>7+</sup> 1865 1866setFocusable(isFocusable: boolean): Promise<void> 1867 1868设置点击时是否支持切换焦点窗口,使用Promise异步回调。 1869 1870**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1871 1872**参数:** 1873 1874| 参数名 | 类型 | 必填 | 说明 | 1875| ----------- | ------- | ---- | ---------------------------- | 1876| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 | 1877 1878**返回值:** 1879 1880| 类型 | 说明 | 1881| ------------------- | ------------------------- | 1882| Promise<void> | 无返回结果的Promise对象。 | 1883 1884**示例:** 1885 1886```js 1887var isFocusable= true; 1888let promise = windowClass.setFocusable(isFocusable); 1889promise.then((data)=> { 1890 console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data)); 1891}).catch((err)=>{ 1892 console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err)); 1893}); 1894``` 1895 1896### setKeepScreenOn 1897 1898setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void 1899 1900设置屏幕是否为常亮状态,使用callback异步回调。 1901 1902**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1903 1904**参数:** 1905 1906| 参数名 | 类型 | 必填 | 说明 | 1907| -------------- | ------------------------- | ---- | ------------------------ | 1908| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。 | 1909| callback | AsyncCallback<void> | 是 | 回调函数。 | 1910 1911**示例:** 1912 1913```js 1914var isKeepScreenOn = true; 1915windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => { 1916 if (err.code) { 1917 console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err)); 1918 return; 1919 } 1920 console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data)); 1921}); 1922``` 1923 1924### setKeepScreenOn 1925 1926setKeepScreenOn(isKeepScreenOn: boolean): Promise<void> 1927 1928设置屏幕是否为常亮状态,使用Promise异步回调。 1929 1930**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1931 1932**参数:** 1933 1934| 参数名 | 类型 | 必填 | 说明 | 1935| -------------- | ------- | ---- | ------------------------ | 1936| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。 | 1937 1938**返回值:** 1939 1940| 类型 | 说明 | 1941| ------------------- | ------------------------- | 1942| Promise<void> | 无返回结果的Promise对象。 | 1943 1944**示例:** 1945 1946```js 1947var isKeepScreenOn = true; 1948let promise = windowClass.setKeepScreenOn(isKeepScreenOn); 1949promise.then((data) => { 1950 console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data)); 1951}).catch((err)=>{ 1952 console.info('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err)); 1953}); 1954``` 1955 1956### setOutsideTouchable<sup>7+</sup> 1957 1958setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void 1959 1960设置是否允许可点击子窗口之外的区域,使用callback异步回调。 1961 1962> **说明:** 该接口不支持使用。 1963 1964 1965**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1966 1967**参数:** 1968 1969| 参数名 | 类型 | 必填 | 说明 | 1970| --------- | ------------------------- | ---- | ---------------- | 1971| touchable | boolean | 是 | 设置是否可点击。 | 1972| callback | AsyncCallback<void> | 是 | 回调函数。 | 1973 1974**示例:** 1975 1976```js 1977windowClass.setOutsideTouchable(true, (err, data) => { 1978 if (err.code) { 1979 console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err)); 1980 return; 1981 } 1982 console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data)); 1983}) 1984``` 1985 1986### setOutsideTouchable<sup>7+</sup> 1987 1988setOutsideTouchable(touchable: boolean): Promise<void> 1989 1990设置是否允许可点击子窗口之外的区域,使用Promise异步回调。 1991 1992> **说明:** 该接口不支持使用。 1993 1994 1995**系统能力:** SystemCapability.WindowManager.WindowManager.Core 1996 1997**参数:** 1998 1999| 参数名 | 类型 | 必填 | 说明 | 2000| --------- | ------- | ---- | ---------------- | 2001| touchable | boolean | 是 | 设置是否可点击。 | 2002 2003**返回值:** 2004 2005| 类型 | 说明 | 2006| ------------------- | ------------------------- | 2007| Promise<void> | 无返回结果的Promise对象。 | 2008 2009**示例:** 2010 2011```js 2012let promise = windowClass.setOutsideTouchable(true); 2013promise.then((data)=> { 2014 console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data)); 2015}).catch((err)=>{ 2016 console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err)); 2017}); 2018``` 2019 2020### setPrivacyMode<sup>7+</sup> 2021 2022setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void 2023 2024设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容无法被截屏或录屏。 2025 2026**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2027 2028**参数:** 2029 2030| 参数名 | 类型 | 必填 | 说明 | 2031| ------------- | ------------------------- | ---- | -------------------- | 2032| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 | 2033| callback | AsyncCallback<void> | 是 | 回调函数。 | 2034 2035**示例:** 2036 2037```js 2038var isPrivacyMode = true; 2039windowClass.setPrivacyMode(isPrivacyMode, (err, data) => { 2040 if (err.code) { 2041 console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err)); 2042 return; 2043 } 2044 console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data)); 2045 2046}); 2047``` 2048 2049### setPrivacyMode<sup>7+</sup> 2050 2051setPrivacyMode(isPrivacyMode: boolean): Promise<void> 2052 2053设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容无法被截屏或录屏。 2054 2055**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2056 2057**参数:** 2058 2059| 参数名 | 类型 | 必填 | 说明 | 2060| ------------- | ------- | ---- | -------------------- | 2061| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 | 2062 2063**返回值:** 2064 2065| 类型 | 说明 | 2066| ------------------- | ------------------------- | 2067| Promise<void> | 无返回结果的Promise对象。 | 2068 2069**示例:** 2070 2071```js 2072var isPrivacyMode = true; 2073let promise = windowClass.setPrivacyMode(isPrivacyMode); 2074promise.then((data)=> { 2075 console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data)); 2076}).catch((err)=>{ 2077 console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err)); 2078}); 2079``` 2080 2081### setTouchable<sup>7+</sup> 2082 2083setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void 2084 2085设置窗口是否为可触状态,使用callback异步回调。 2086 2087**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2088 2089**参数:** 2090 2091| 参数名 | 类型 | 必填 | 说明 | 2092| ----------- | ------------------------- | ---- | -------------------- | 2093| isTouchable | boolean | 是 | 窗口是否为可触状态。 | 2094| callback | AsyncCallback<void> | 是 | 回调函数。 | 2095 2096**示例:** 2097 2098```js 2099var isTouchable = true; 2100windowClass.setTouchable(isTouchable, (err, data) => { 2101 if (err.code) { 2102 console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err)); 2103 return; 2104 } 2105 console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data)); 2106 2107}); 2108``` 2109 2110### setTouchable<sup>7+</sup> 2111 2112setTouchable(isTouchable: boolean): Promise<void> 2113 2114设置窗口是否为可触状态,使用Promise异步回调。 2115 2116**系统能力:** SystemCapability.WindowManager.WindowManager.Core 2117 2118**参数:** 2119 2120| 参数名 | 类型 | 必填 | 说明 | 2121| ----------- | ------- | ---- | -------------------- | 2122| isTouchable | boolean | 是 | 窗口是否为可触状态。 | 2123 2124**返回值:** 2125 2126| 类型 | 说明 | 2127| ------------------- | ------------------------- | 2128| Promise<void> | 无返回结果的Promise对象。 | 2129 2130**示例:** 2131 2132```js 2133var isTouchable = true; 2134let promise = windowClass.setTouchable(isTouchable); 2135promise.then((data)=> { 2136 console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data)); 2137}).catch((err)=>{ 2138 console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err)); 2139}); 2140```