# 窗口
> ![icon-note.gif](public_sys-resources/icon-note.gif) **说明:**
> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
>
## 导入模块
```js
import window from '@ohos.window';
```
## WindowType7+
窗口类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 |
| ----------------- | ------ | ------------------ |
| TYPE_APP | 0 | 表示应用子窗口。 |
| TYPE_SYSTEM_ALERT | 1 | 表示系统告警窗口。 |
## AvoidAreaType7+
窗口内容需要规避区域的类型。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 |
| ----------- | ------ | ------------------ |
| TYPE_SYSTEM | 0 | 表示系统默认区域。 |
| TYPE_CUTOUT | 1 | 表示刘海屏区域。 |
## WindowMode7+
窗口模式。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 |
| ---------- | ------ | ----------------------------- |
| UNDEFINED | 1 | 表示APP未定义窗口模式。 |
| FULLSCREEN | 2 | 表示APP全屏模式。 |
| PRIMARY | 3 | 表示APP分屏多窗口主要模式。 |
| SECONDARY | 4 | 表示APP分屏多窗口次要模式。 |
| FLOATING | 5 | 表示APP自由悬浮形式窗口模式。 |
## SystemBarProperties
状态栏导航栏的属性。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| -------------------------------------- | -------- | ---- | ---- | ------------------------------------------------------------ |
| statusBarColor | string | 是 | 是 | 状态栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isStatusBarLightIcon7+ | boolean | 否 | 是 | 状态栏图标是否为高亮状态。 |
| statusBarContentColor8+ | string | 否 | 是 | 状态栏文字颜色。 |
| navigationBarColor | string | 是 | 是 | 导航栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| isNavigationBarLightIcon7+ | boolean | 否 | 否 | 导航栏图标是否为高亮状态。 |
| navigationBarContentColor8+ | string | 否 | 是 | 导航栏文字颜色。 |
## SystemBarRegionTint 8+
单个导航栏或状态栏回调信息。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
| type | [WindowType](#windowtype) | 是 | 是 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 |
| isEnable | boolean | 是 | 是 | 当前系统栏是否显示。 |
| region | [Rect](#rect) | 是 | 是 | 当前系统栏的位置及大小。 |
| backgroundColor | string | 是 | 是 | 系统栏背景颜色,为16进制RGB或ARGB颜色,例如"\#00FF00"或"\#FF00FF00"。 |
| contentColor | string | 是 | 是 | 系统栏文字颜色。 |
## SystemBarTintState 8+
当前系统栏回调信息集合。
此接口为系统接口,三方应用不支持调用。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---------- | -------------------------------------------------- | ---- | ---- | -------------------------- |
| displayId | number | 是 | 否 | 当前物理屏幕id。 |
| regionTint | Array<[SystemBarRegionTint](#systembartegiontint)> | 是 | 是 | 当前改变所有的系统栏信息。 |
## Rect7+
矩形。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------ | -------- | ---- | ---- | ------------------ |
| left | number | 是 | 是 | 矩形区域的左边界。 |
| top | number | 是 | 是 | 矩形区域的上边界。 |
| width | number | 是 | 是 | 矩形区域的宽度。 |
| height | number | 是 | 是 | 矩形区域的高度。 |
## AvoidArea7+
表示窗口内容规避区域。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ---------- | ------------- | ---- | ---- | ------------------ |
| leftRect | [Rect](#rect) | 是 | 是 | 屏幕左侧的矩形区。 |
| topRect | [Rect](#rect) | 是 | 是 | 屏幕顶部的矩形区。 |
| rightRect | [Rect](#rect) | 是 | 是 | 屏幕右侧的矩形区。 |
| bottomRect | [Rect](#rect) | 是 | 是 | 屏幕底部的矩形区。 |
## Size7+
窗口大小。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------ | -------- | ---- | ---- | ---------- |
| width | number | 是 | 是 | 窗口宽度。 |
| height | number | 是 | 是 | 窗口高度。 |
## WindowProperties
窗口属性。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 参数类型 | 可读 | 可写 | 说明 |
| ------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ |
| windowRect7+ | [Rect](#rect) | 是 | 是 | 窗口尺寸。 |
| type7+ | [WindowType](#windowtype) | 是 | 是 | 窗口类型。 |
| isFullScreen | boolean | 是 | 是 | 是否全屏,默认为false。 |
| isLayoutFullScreen7+ | boolean | 是 | 是 | 窗口是否为沉浸式,默认为false。 |
| focusable7+ | boolean | 是 | 否 | 窗口是否可聚焦,默认为true。 |
| touchable7+ | boolean | 是 | 否 | 窗口是否可触摸,默认为true。 |
| brightness | number | 是 | 是 | 屏幕亮度, 取值范围为0~1,1表示最大亮度值。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| dimBehindValue7+ | number | 是 | 是 | 靠后窗口的暗度值,取值范围为0~1,1表示最暗。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isKeepScreenOn | boolean | 是 | 是 | 屏幕是否常亮,默认为false。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isPrivacyMode7+ | boolean | 是 | 是 | 隐私模式,默认为false。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isRoundCorner7+ | boolean | 是 | 是 | 窗口是否为圆角。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
| isTransparent7+ | boolean | 是 | 是 | 窗口是否透明。默认为false。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。 |
## ColorSpace8+
色域模式。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core。
| 名称 | 默认值 | 说明 |
| ---------- | ------ | -------------- |
| DEFAULT | 0 | 默认色域模式。 |
| WIDE_GAMUT | 1 | 广色域模式。 |
## window.create7+
create(id: string, type: WindowType, callback: AsyncCallback<Window>): void
创建子窗口,使用callback方式作为异步方法。
从API version 8开始,此接口废弃,推荐使用[window.create8+](#windowcreate8)接口。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | -------------------------- |
| id | string | 是 | 窗口id。 |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回创建的子窗口对象。 |
- 示例
```js
var windowClass = null;
window.create("first", window.WindowType.TYPE_APP, (err, data) => {
if (err.code) {
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data))
windowClass.resetSize(500, 1000);
});
```
## window.create7+
create(id: string, type: WindowType): Promise<Window>
创建子窗口,使用Promise方式作为异步方法。
从API version 8开始,此接口废弃,推荐使用[window.create8+](#windowcreate8)接口。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------- | ---- | ---------- |
| id | string | 是 | 窗口id。 |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
- 返回值
| 类型 | 说明 |
| -------------------------------- | ------------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前创建的子窗口对象。 |
- 示例
```js
var windowClass = null;
let promise = window.create("first", window.WindowType.TYPE_APP);
promise.then((data)=> {
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
});
```
## window.create8+
create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Window>): void
创建子窗口,使用callback方式作为异步方法,其中Context详见[Context](js-apis-Context.md)。
从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx | Context | 是 | 当前应用上下文信息。
API version 8的Context定义见[Context](js-apis-Context.md)。
API version 9的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前窗口对象。 |
- 示例
```js
var windowClass = null;
window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) => {
if (err.code) {
console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Window created. Data: ' + JSON.stringify(data))
windowClass.resetSize(500, 1000);
});
```
## window.create8+
create(ctx: Context, id: string, type: WindowType): Promise<Window>
创建子窗口,使用Promise方式作为异步方法,其中Context详见[Context](js-apis-Context.md)。
从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------- | ---- | ------------------------------------------------------------ |
| ctx | Context | 是 | 当前应用上下文信息。
API version 8的Context定义见[Context](js-apis-Context.md)。
API version 9的Context定义见[Context](js-apis-service-extension-context.md)。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
- 返回值
| 类型 | 说明 |
| -------------------------------- | ----------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前创建的窗口对象。 |
- 示例
```js
var windowClass = null;
let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT);
promise.then((data)=> {
windowClass = data;
console.info('Window created. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
});
```
## window.find7+
find(id: string, callback: AsyncCallback<Window>): void
查找id所对应的窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | ---------------------------- |
| id | string | 是 | 窗口id。 |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前查找的窗口对象。 |
- 示例
```js
var windowClass = null;
window.find("alertWindow", (err, data) => {
if (err.code) {
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data))
});
```
## window.find7+
find(id: string): Promise<Window>
查找id所对应的窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------- |
| id | string | 是 | 窗口id。 |
- 返回值
| 类型 | 说明 |
| -------------------------------- | ----------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前查找的窗口对象。 |
- 示例
```js
var windowClass = null;
let promise = window.find("alertWindow");
promise.then((data)=> {
windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
});
```
## window.getTopWindow
getTopWindow(callback: AsyncCallback<Window>): void
获取当前应用内最后显示的窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | -------------------------------------- |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前应用内最后显示的窗口对象。 |
- 示例
```js
var windowClass = null;
window.getTopWindow((err, data) => {
if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
```
## window.getTopWindow
getTopWindow(): Promise<Window>
获取当前应用内最后显示的窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| -------------------------------- | --------------------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |
- 示例
```js
var windowClass = null;
let promise = window.getTopWindow();
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
```
## window.getTopWindow8+
getTopWindow(ctx: Context, callback: AsyncCallback<Window>): void
获取当前应用内最后显示的窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | ------------------------------------------------------------ |
| ctx | Context | 是 | 当前应用上下文信息。
API version 8的Context定义见[Context](js-apis-Context.md)。
API version 9的Context定义见[Context](js-apis-ability-context.md)。 |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前应用内最后显示的窗口对象。 |
- 示例
```js
var windowClass = null;
window.getTopWindow(this.context, (err, data) => {
if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
```
## window.getTopWindow8+
getTopWindow(ctx: Context): Promise<Window>
获取当前应用内最后显示的窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------- | ---- | ------------------------------------------------------------ |
| ctx | Context | 是 | 当前应用上下文信息。
API version 8的Context定义见[Context](js-apis-Context.md)。
API version 9的Context定义见[Context](js-apis-ability-context.md)。 |
- 返回值
| 类型 | 说明 |
| -------------------------------- | --------------------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前应用内最后显示的窗口对象。 |
- 示例
```js
var windowClass = null;
let promise = window.getTopWindow(this.context);
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
```
## on('systemBarTintChange')8+
on(type: 'systemBarTintChange', callback: Callback<SystemBarTintState>): void
注册状态栏、导航栏的监听函数。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'systemBarTintChange'时表示监听类型为导航栏、状态栏属性变化监听; |
| callback | Callback<[SystemBarTintState](#systembartintstate)> | 是 | 回调返回监听到的信息。 |
- 示例
```js
var type = 'systemBarTintChange';
windowClass.on(type, (data) => {
console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
});
```
## off('systemBarTintChange')8+
off(type: 'systemBarTintChange', callback?: Callback<SystemBarTintState >): void
关闭监听。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'systemBarTintChange'时表示监听类型为导航栏、状态栏属性变化监听; |
| callback | Callback<[SystemBarTintState](#systembartintstate)> | 否 | 回调返回监听到的信息。 |
- 示例
```js
var type = 'systemBarTintChange';
windowClass.off(type);
```
## Window
下列API示例中都需使用[getTopWindow()](#window-gettopwindow)、[create()](#windowcreate7)、[find()](#window-find)等先获取到Window实例,再通过此实例调用对应方法。
### hide7+
hide (callback: AsyncCallback<void>): void
隐藏当前窗口,使用callback方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.hide((err, data) => {
if (err.code) {
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
return;
}
console.info('window hidden. data: ' + JSON.stringify(data))
})
```
### hide7+
hide(): Promise<void>
隐藏当前窗口,使用Promise方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.hide();
promise.then((data)=> {
console.info('window hidden. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
})
```
### show7+
show(callback: AsyncCallback<void>): void
显示当前窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.show((err, data) => {
if (err.code) {
console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
})
```
### show7+
show(): Promise<void>
显示当前窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.show();
promise.then((data)=> {
console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
})
```
### destroy7+
destroy(callback: AsyncCallback<void>): void
销毁当前窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.destroy((err, data) => {
if (err.code) {
console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
})
```
### destroy7+
destroy(): Promise<void>
销毁当前窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.destroy();
promise.then((data)=> {
console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
})
```
### moveTo7+
moveTo(x: number, y: number, callback: AsyncCallback<void>): void
移动窗口位置,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | --------------------------------------- |
| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移。 |
| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.moveTo(300, 300, (err, data)=>{
if (err.code) {
console.error('Failed to move the window. Cause:' + JSON.stringify(err));
return;
}
console.info('Window moved. Data: ' + JSON.stringify(data))
});
```
### moveTo7+
moveTo(x: number, y: number): Promise<void>
移动窗口位置,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | --------------------------------------- |
| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移。 |
| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.moveTo(300, 300);
promise.then((data)=> {
console.info('Window moved. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
})
```
### resetSize7+
resetSize(width: number, height: number, callback: AsyncCallback<void>): void
改变当前窗口大小,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------------- |
| width | number | 是 | 目标窗口的宽度。 |
| height | number | 是 | 目标窗口的高度。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.resetSize(500, 1000, (err, data) => {
if (err.code) {
console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
return;
}
console.info('Window size changed. Data: ' + JSON.stringify(data))
});
```
### resetSize7+
resetSize(width: number, height: number): Promise<void>
改变当前窗口大小,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ---------------- |
| width | number | 是 | 目标窗口的宽度。 |
| height | number | 是 | 目标窗口的高度。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.resetSize(500, 1000);
promise.then((data)=> {
console.info('Window size changed. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
});
```
### setWindowType7+
setWindowType(type: WindowType, callback: AsyncCallback<void>): void
设置窗口类型,使用callback方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ---------- |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var type = window.TYPE_APP;
windowClass.setWindowType(type, (err, data) => {
if (err.code) {
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
});
```
### setWindowType7+
setWindowType(type: WindowType): Promise<void>
设置窗口类型,使用Promise方式作为异步方法。
此接口为系统接口,三方应用不支持调用。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------- | ---- | ---------- |
| type | [WindowType](#windowtype) | 是 | 窗口类型。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var type = window.TYPE_APP;
let promise = windowClass.setWindowType(type);
promise.then((data)=> {
console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
});
```
### getProperties
getProperties(callback: AsyncCallback<WindowProperties>): void
获取当前窗口的属性,使用callback方式作为异步方法返回WindowProperties。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------------------- | ---- | ------------------ |
| callback | AsyncCallback<[WindowProperties](#windowproperties)> | 是 | 回调返回窗口属性。 |
- 示例
```js
windowClass.getProperties((err, data) => {
if (err.code) {
console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
});
```
### getProperties
getProperties(): Promise<WindowProperties>
获取当前窗口的属性,使用promise方式作为异步方法返回WindowProperties。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ---------------------------------------------------- | ------------------------------------- |
| Promise<[WindowProperties](#windowproperties)> | 以Promise形式返回结果,返回窗口属性。 |
- 示例
```js
let promise = windowClass.getProperties();
promise.then((data)=> {
console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
});
```
### getAvoidArea7+
getAvoidArea(type: AvoidAreaType, callback: AsyncCallback<AvoidArea>): void
获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------------- | ---- | ------------------------------------------------------------ |
| type | [AvoidAreaType](#avoidareatype) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 |
| callback | AsyncCallback<[AvoidArea](#avoidarea)> | 是 | 回调返回窗口内容规避区域。 |
- 示例
```js
var type = window.AvoidAreaType.TYPE_SYSTEM;
windowClass.getAvoidArea(type, (err, data) => {
if (err.code) {
console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
});
```
### getAvoidArea7+
getAvoidArea(type: AvoidAreaType): Promise<AvoidArea>
获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------------------------------- | ---- | ------------------------------------------------------------ |
| type | [AvoidAreaType](#avoidareatype) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。 |
- 返回值
| 类型 | 说明 |
| -------------------------------------- | --------------------------------------------- |
| Promise<[AvoidArea](#avoidarea)> | 以Promise形式返回结果,返回窗口内容规避区域。 |
- 示例
```js
let promise = windowClass.getAvoidArea();
promise.then((data)=> {
console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
});
```
### setFullScreen
setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void
设置是否为全屏状态,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------------------------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean | 是 | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err, data) => {
if (err.code) {
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
});
```
### setFullScreen
setFullScreen(isFullScreen: boolean): Promise<void>
设置是否为全屏状态,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------ | ------- | ---- | ---------------------------------------------- |
| isFullScreen | boolean | 是 | 是否设为全屏状态,且全屏状态隐藏状态栏导航栏。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen);
promise.then((data)=> {
console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
});
```
### setLayoutFullScreen7+
setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void
设置窗口的布局是否为全屏显示状态,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------------------------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => {
if (err.code) {
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
});
```
### setLayoutFullScreen7+
setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void>
设置窗口的布局是否为全屏显示状态,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------------ | ------- | ---- | ------------------------------------------------------------ |
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isLayoutFullScreen = true;
let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
promise.then((data)=> {
console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
});
```
### setSystemBarEnable7+
setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void
设置导航栏、状态栏的可见模式,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| names | Array | 是 | 设置状态栏和导航栏是否显示。例如,需全部显示,该参数设置为["status", "navigation"], 不设置,则默认不显示。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var names = ["status", "navigation"];
windowClass.setSystemBarEnable(names, (err, data) => {
if (err.code) {
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
});
```
### setSystemBarEnable7+
setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void>
设置导航栏、状态栏的可见模式,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ----- | ---- | ------------------------------------------------------------ |
| names | Array | 是 | 设置状态栏和导航栏是否显示。例如,需全部显示,该参数设置为["status", "navigation"], 不设置,则默认不显示。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var names = ["status", "navigation"];
let promise = windowClass.setSystemBarEnable(names);
promise.then((data)=> {
console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
});
```
### setSystemBarProperties
setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void
设置窗口内导航栏、状态栏的属性,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------------- | ------------------------------------------- | ---- | -------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏状态栏的属性。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err, data) => {
if (err.code) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
});
```
### setSystemBarProperties
setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void>
设置窗口内导航栏、状态栏的属性,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------------- | ------------------------------------------- | ---- | -------------------- |
| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏状态栏的属性。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下两个属性从API Version7开始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下两个属性从API Version8开始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then((data)=> {
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
});
```
### loadContent7+
loadContent(path: string, callback: AsyncCallback<void>): void
当前窗口加载具体页面内容,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------- |
| path | string | 是 | 设置加载页面的路径。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.loadContent("pages/page2/page2", (err, data) => {
if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
});
```
### loadContent7+
loadContent(path: string): Promise<void>
当前窗口加载具体页面内容,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------------- |
| path | string | 是 | 设置加载页面的路径。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.loadContent("pages/page2/page2");
promise.then((data)=> {
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
});
```
### isShowing7+
isShowing(callback: AsyncCallback<boolean>): void
判断当前窗口是否已显示,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数返回是否显示子窗口结果。 |
- 示例
```js
windowClass.isShowing((err, data) => {
if (err.code) {
console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
});
```
### isShowing7+
isShowing(): Promise<boolean>
判断当前窗口是否已显示,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ---------------------- | ----------------------------------------------------- |
| Promise<boolean> | 以Promise形式返回结果,返回当前窗口是否已显示的结果。 |
- 示例
```js
let promise = windowClass.isShowing();
promise.then((data)=> {
console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
});
```
### on('windowSizeChange')7+
on(type: 'windowSizeChange', callback: Callback<Size>): void
开启监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'windowSizeChange'时表示监听类型为窗口尺寸变化监听; |
| callback | Callback<[Size](#size)> | 是 | 回调返回监听到的信息。 |
- 示例
```js
var type = 'windowSizeChange';
windowClass.on(type, (data) => {
console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
});
```
### off('windowSizeChange')7+
off(type: 'windowSizeChange', callback?: Callback<Size >): void
关闭监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ----------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'windowSizeChange'7+时表示监听类型为窗口尺寸变化监听; |
| callback | Callback<[Size](#size)> | 否 | 回调返回监听到的信息。 |
- 示例
```
var type = 'windowSizeChange';
windowClass.off(type);
```
### on('systemAvoidAreaChange')7+
on(type: 'systemAvoidAreaChange', callback: Callback<AvoidArea>): void
开启监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'systemAvoidAreaChange'时表示监听类型为系统窗口规避区变化监听。 |
| callback | Callback<[AvoidArea](#avoidarea)> | 是 | 回调返回监听到的信息。 |
- 示例
```js
var type = 'systemAvoidAreaChange';
windowClass.on(type, (data) => {
console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
});
```
### off('systemAvoidAreaChange')7+
off(type: 'systemAvoidAreaChange', callback?: Callback<AvoidArea>): void
关闭监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'systemAvoidAreaChange'时表示监听类型为系统窗口规避区变化监听。 |
| callback | Callback<[AvoidArea](#avoidarea)> | 否 | 回调返回监听到的信息。 |
- 示例
```
var type = 'systemAvoidAreaChange';
windowClass.off(type);
```
### on('keyboardHeightChange')7+
on(type: 'keyboardHeightChange', callback: Callback<number>): void
开启键盘高度变化的监听。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'keyboardHeightChange'时表示监听类型为键盘高度变化监听。 |
| callback | Callbacknumber> | 是 | 回调返回监听到的信息。 |
- 示例
```js
var type = 'keyboardHeightChange';
windowClass.on(type, (data) => {
console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
});
```
### off('keyboardHeightChange')7+
off(type: 'keyboardHeightChange', callback?: Callback<number>): void
关闭键盘高度变化的监听。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------- | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'keyboardHeightChange'时表示监听类型为键盘高度变化监听。 |
| callback | Callback<number> | 否 | 回调返回监听到的信息。 |
- 示例
```
var type = 'keyboardHeightChange';
windowClass.off(type);
```
### isSupportWideGamut8+
isSupportWideGamut(callback: AsyncCallback<boolean>): void
判断当前窗口是否支持广色域模式,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------- | ---- | -------------------------------- |
| callback | AsyncCallback<boolean> | 是 | 回调函数返回是否支持广色域模式。 |
- 示例
```js
windowClass.isSupportWideGamut((err, data) => {
if (err.code) {
console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data))
})
```
### isSupportWideGamut8+
isSupportWideGamut(): Promise<boolean>
判断当前窗口是否支持广色域模式,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ---------------------- | ------------------------------------------------------------ |
| Promise<boolean> | 以Promise形式返回结果,返回当前窗口是否支持广色域模式的结果。 |
- 示例
```
let promise = windowClass.isSupportWideGamut();
promise.then((data)=> {
console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
});
```
### setColorSpace8+
setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void
设置当前窗口为广色域模式或默认色域模式,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ------------ |
| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => {
if (err.code) {
console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
})
```
### setColorSpace8+
setColorSpace(colorSpace:ColorSpace): Promise<void>
设置当前窗口为广色域模式或默认色域模式,使用promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ------------ |
| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.isSupportWideGamut(window.ColorSpace.WIDE_GAMUT);
promise.then((data)=> {
console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err));
});
```
### getColorSpace8+
getColorSpace(callback: AsyncCallback<ColorSpace>): void
获取当前窗口色域模式,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ---------------------------------------------- | ---- | -------------------------- |
| callback | AsyncCallback<[ColorSpace](#colorspace)> | 是 | 回调函数返回当前色域模式。 |
- 示例
```js
windowClass.getColorSpace((err, data) => {
if (err.code) {
console.error('Failed to get window color space. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data))
})
```
### getColorSpace8+
getColorSpace(): Promise<ColorSpace>
获取当前窗口色域模式,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| ---------------------------------------- | ----------------------------------------- |
| Promise<[ColorSpace](#colorspace)> | 以Promise形式返回结果,返回当前色域模式。 |
- 示例
```js
let promise = windowClass.getColorSpace();
promise.then((data)=> {
console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set window colorspacet. Cause: ' + JSON.stringify(err));
});
```
### setBackgroundColor
setBackgroundColor(color: string, callback: AsyncCallback<void>): void
设置窗口的背景色,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | ------------------------------------------------------------ |
| color | string | 是 | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var color = '#00ff33';
windowClass.setBackgroundColor(color, (err, data) => {
if (err.code) {
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
});
```
### setBackgroundColor
setBackgroundColor(color: string): Promise<void>
设置窗口的背景色,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | ------------------------------------------------------------ |
| color | string | 是 | 需要设置的背景色,为16进制颜色,例如"#00FF00"或"#FF00FF00"。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var color = '#00ff33';
let promise = windowClass.setBackgroundColor(color);
promise.then((data)=> {
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
});
```
### setBrightness
setBrightness(brightness: number, callback: AsyncCallback<void>): void
设置屏幕亮度值,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------------------------- | ---- | ------------------------------------ |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var brightness = 1;
windowClass.setBrightness(brightness, (err, data) => {
if (err.code) {
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
});
```
### setBrightness
setBrightness(brightness: number): Promise<void>
设置屏幕亮度值,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ---------- | ------ | ---- | ------------------------------------ |
| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var brightness = 1;
let promise = windowClass.setBrightness(brightness);
promise.then((data)=> {
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
});
```
### setDimBehind7+
setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.setDimBehind(0.5, (err, data) => {
if (err.code) {
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data));
});
```
### setDimBehind7+
setDimBehind(dimBehindValue: number): Promise<void>
窗口叠加时,设备有子窗口的情况下设置靠后的窗口的暗度值,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------ | ---- | -------------------------------------------------- |
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范围为0-1,1表示最暗。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.setDimBehind(0.5);
promise.then((data)=> {
console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
});
```
### setFocusable7+
setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void
设置点击时是否支持切换焦点窗口,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | ---------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isFocusable= true;
windowClass.setFocusable(isFocusable, (err, data) => {
if (err.code) {
console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
});
```
### setFocusable7+
setFocusable(isFocusable: boolean): Promise<void>
设置点击时是否支持切换焦点窗口,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | ---- | ---------------------------- |
| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isFocusable= true;
let promise = windowClass.setFocusable(isFocusable);
promise.then((data)=> {
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
});
```
### setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void
设置屏幕是否为常亮状态,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------------------------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是 | 是否设置为屏幕常亮状态。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isKeepScreenOn = true;
windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => {
if (err.code) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
});
```
### setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean): Promise<void>
设置屏幕是否为常亮状态,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------------- | ------- | ---- | ------------------------ |
| isKeepScreenOn | boolean | 是 | 是否设置为屏幕常亮状态。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isKeepScreenOn= true;
let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
promise.then((data)=> {
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
});
```
### setOutsideTouchable7+
setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void
设置是否允许可点击子窗口以外的区域,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------------------------- | ---- | ---------------- |
| touchable | boolean | 是 | 设置是否可点击。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
windowClass.setOutsideTouchable(true, (err, data) => {
if (err.code) {
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
})
```
### setOutsideTouchable7+
setOutsideTouchable(touchable: boolean): Promise<void>
设置是否允许可点击子窗口以外的区域,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| --------- | ------- | ---- | ---------------- |
| touchable | boolean | 是 | 设置是否可点击。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
let promise = windowClass.setOutsideTouchable(true);
promise.then((data)=> {
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
});
```
### setPrivacyMode7+
setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void
设置窗口是否为隐私模式,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------------------------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isPrivacyMode = true;
windowClass.setPrivacyMode(isPrivacyMode, (err, data) => {
if (err.code) {
console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data));
});
```
### setPrivacyMode7+
setPrivacyMode(isPrivacyMode: boolean): Promise<void>
设置窗口是否为隐私模式,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------------- | ------- | ---- | -------------------- |
| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isPrivacyMode = true;
let promise = windowClass.setPrivacyMode(isPrivacyMode);
promise.then((data)=> {
console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
});
```
### setTouchable7+
setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void
设置窗口是否为可触状态,使用callback方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------------------------- | ---- | -------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```js
var isTouchable = true;
windowClass.setTouchable(isTouchable, (err, data) => {
if (err.code) {
console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data));
});
```
### setTouchable7+
setTouchable(isTouchable: boolean): Promise<void>
设置窗口是否为可触状态,使用Promise方式作为异步方法。
本接口在OpenHarmony 3.1 Release版本仅为接口定义,暂不支持使用。接口将在OpenHarmony 3.1 MR版本中提供使用支持。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ----------- | ------- | ---- | -------------------- |
| isTouchable | boolean | 是 | 窗口是否为可触状态。 |
- 返回值
| 类型 | 说明 |
| ------------------- | ----------------------------------------------- |
| Promise<void> | 以Promise形式返回结果,返回当前函数执行的结果。 |
- 示例
```js
var isTouchable = true;
let promise = windowClass.setTouchable(isTouchable);
promise.then((data)=> {
console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
});
```
## WindowStageEventType9+
WindowStage生命周期。
**系统能力**:以下各项对应的系统能力均为SystemCapability.WindowManager.WindowManager.Core
| 名称 | 默认值 | 说明 |
| ---------- | ------ | -------- |
| FOREGROUND | 1 | 切到前台 |
| ACTIVE | 2 | 获焦状态 |
| INACTIVE | 3 | 失焦状态 |
| BACKGROUND | 4 | 切到后台 |
## WindowStage9+
下列API示例中都需在[onWindowStageCreate()](js-apis-application-ability.md#abilityonwindowstagecreate)函数中使用WindowStage的实例调用对应方法。
### getMainWindow9+
getMainWindow(): Promise<Window>
获取该WindowStage实例下的主窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| -------------------------------- | ---------------------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前WindowStage下的主窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.getMainWindow();
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
});
}
}
```
### getMainWindow9+
getMainWindow(callback: AsyncCallback<Window>): void
获取该WindowStage实例下的主窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | --------------------------------------- |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前WindowStage下的主窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.getMainWindow((err, data) => {
if (err.code) {
console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
});
}
}
```
### createSubWindow9+
createSubWindow(name: string): Promise<Window>
创建该WindowStage实例下的子窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| ------ | ------ | ---- | -------------- |
| name | String | 是 | 子窗口的名字。 |
- 返回值
| 类型 | 说明 |
| -------------------------------- | ------------------------------------------------- |
| Promise<[Window](#window)> | 以Promise形式返回结果,返回当前创建的子窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.createSubWindow("mySubWindow");
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
})
}
}
```
### createSubWindow9+
createSubWindow(name: string, callback: AsyncCallback<Window>): void
创建该WindowStage实例下的子窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | -------------------------------------- | ---- | ------------------------------ |
| name | String | 是 | 子窗口的名字。 |
| callback | AsyncCallback<[Window](#window)> | 是 | 回调返回当前创建的子窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.createSubWindow("mySubWindow", (err, data) => {
if (err.code) {
console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data));
windowClass.resetSize(500, 1000);
});
}
}
```
### getSubWindow9+
getSubWindow(): Promise<Array<Window>>
获取该WindowStage实例下的所有子窗口,使用Promise方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 返回值
| 类型 | 说明 |
| --------------------------------------------- | ------------------------------------------------------------ |
| Promise<Array<[Window](#window)>> | 以Promise形式返回结果,返回当前WindowStage下的所有子窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.getSubWindow();
promise.then((data)=> {
windowClass = data;
console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data))
}).catch((err)=>{
console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
})
}
}
```
### getSubWindow9+
getSubWindow(callback: AsyncCallback<Array<Window>>): void
获取该WindowStage实例下的所有子窗口,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | --------------------------------------------------- | ---- | ------------------------------------------- |
| callback | AsyncCallback<Array<[Window](#window)>> | 是 | 回调返回当前WindowStage下的所有子窗口对象。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.getSubWindow((err, data) => {
if (err.code) {
console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data));
});
}
}
```
### loadContent9+
loadContent(path: string, callback: AsyncCallback<void>): void
为当前WindowStage的主窗口加载具体页面内容,使用callback方式作为异步方法。
**系统能力**:SystemCapability.WindowManager.WindowManager.Coretype为'windowSizeChange'
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------- | ---- | -------------------- |
| path | string | 是 | 设置加载页面的路径。 |
| callback | AsyncCallback<void> | 是 | 回调函数。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
windowStage.loadContent("pages/page2", (err, data) => {
if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data))
});
}
}
```
### on('windowStageEvent')9+
on(eventType: 'windowStageEvent', callback: Callback<WindowStageEventType>): void
开启WindowStage生命周期变化的监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'windowStageEvent'时表示监听类型为WindowStage生命周期变化监听。 |
| callback | Callback<[WindowStageEventType](#windowstageeventtype9)> | 是 | 回调返回监听到的信息。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var type = 'windowStageEvent';
windowStage.on(type, (data) => {
console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + JSON.stringify(data));
});
}
}
```
### off('windowStageEvent')9+
off(eventType: 'windowStageEvent', callback?: Callback<WindowStageEventType>): void
关闭WindowStage生命周期变化的监听。
**系统能力**:SystemCapability.WindowManager.WindowManager.Core
- 参数
| 参数名 | 类型 | 必填 | 说明 |
| -------- | ------------------------------------------------------------ | ---- | ------------------------------------------------------------ |
| type | string | 是 | 设置监听类型。
- type为'windowStageEvent'时表示监听类型为WindowStage生命周期变化监听。 |
| callback | Callback<[WindowStageEventType](#windowstageeventtype9)> | 否 | 回调返回监听到的信息。 |
- 示例
```ts
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var type = 'windowStageEvent';
windowStage.off(type);
}
}
```