diff --git a/zh-cn/application-dev/reference/apis/js-apis-window.md b/zh-cn/application-dev/reference/apis/js-apis-window.md index 618db8db2c38c6d2b9a1140f817b647c3c0685d9..b8bb8a250f57431c4f812b08b1dc13e53d06658c 100644 --- a/zh-cn/application-dev/reference/apis/js-apis-window.md +++ b/zh-cn/application-dev/reference/apis/js-apis-window.md @@ -44,6 +44,22 @@ import window from '@ohos.window'; | TYPE_DIALOG9+ | 16 | 表示模态窗口。
**模型约束:** 此接口仅可在Stage模型下使用。
**系统接口:** 此接口为系统接口。 | | TYPE_SCREENSHOT9+ | 17 | 表示截屏窗口。
**模型约束:** 此接口仅可在Stage模型下使用。
**系统接口:** 此接口为系统接口。 | +## Configuration9+ + +创建子窗口时的参数。 + +从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +| 名称 | 参数类型 | 可读 | 可写 | 说明 | +| ---------- | ----------------------------- | -- | -- | ------------------ | +| name | string | 是 | 是 | 子窗口名字。 | +| windowType | [WindowType](#windowtype7) | 是 | 是 | 子窗口类型。 | +| ctx | [Context](js-apis-Context.md) | 是 | 是 | 当前应用上下文信息。 | +| displayId | number | 是 | 是 | 当前物理屏幕id。 | +| parentId | string | 是 | 是 | 父窗口id。 | + ## AvoidAreaType7+ 窗口内容需要规避区域的类型枚举。 @@ -147,7 +163,7 @@ import window from '@ohos.window'; | 名称 | 参数类型 | 可读 | 可写 | 说明 | | --------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | -| type | [WindowType](#windowtype) | 是 | 否 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 | +| type | [WindowType](#windowtype7) | 是 | 否 | 当前属性改变的系统栏类型,仅支持类型为导航栏、状态栏的系统栏。 | | isEnable | boolean | 是 | 否 | 当前系统栏是否显示。 | | region | [Rect](#rect) | 是 | 否 | 当前系统栏的位置及大小。 | | backgroundColor | string | 是 | 否 | 系统栏背景颜色,为十六进制RGB或ARGB颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | @@ -213,7 +229,7 @@ import window from '@ohos.window'; | 名称 | 参数类型 | 可读 | 可写 | 说明 | | ------------------------------------- | ------------------------- | ---- | ---- | ------------------------------------------------------------ | | windowRect7+ | [Rect](#rect) | 是 | 是 | 窗口尺寸。 | -| type7+ | [WindowType](#windowtype) | 是 | 是 | 窗口类型。 | +| type7+ | [WindowType](#windowtype7) | 是 | 是 | 窗口类型。 | | isFullScreen | boolean | 是 | 是 | 是否全屏,默认为false。 | | isLayoutFullScreen7+ | boolean | 是 | 是 | 窗口是否为沉浸式,默认为false。 | | focusable7+ | boolean | 是 | 否 | 窗口是否可聚焦,默认为true。 | @@ -282,12 +298,15 @@ import window from '@ohos.window'; | y | number | 否 | 是 | Y轴的平移参数,默认值为0.0。 | | z | number | 否 | 是 | Z轴的平移参数,默认值为0.0。 | -## window.create7+ +## window.create(deprecated) create(id: string, type: WindowType, callback: AsyncCallback<Window>): void 创建子窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。 + **模型约束:** 此接口仅可在FA模型下使用。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -297,7 +316,7 @@ create(id: string, type: WindowType, callback: AsyncCallback<Window>): voi | 参数名 | 类型 | 必填 | 说明 | | -------- | -------------------------------------- | ---- | ------------------------------------ | | id | string | 是 | 窗口id。 | -| type | [WindowType](#windowtype) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | | callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | **示例:** @@ -314,12 +333,15 @@ window.create('first', window.WindowType.TYPE_APP,(err,data) => { }); ``` -## window.create7+ +## window.create(deprecated) create(id: string, type: WindowType): Promise<Window> 创建子窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。 + **模型约束:** 此接口仅可在FA模型下使用。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -329,7 +351,7 @@ create(id: string, type: WindowType): Promise<Window> | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------------------- | ---- | ---------- | | id | string | 是 | 窗口id。 | -| type | [WindowType](#windowtype) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | **返回值:** @@ -350,7 +372,7 @@ promise.then((data)=> { }); ``` -## window.create8+ +## window.create(deprecated) create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Window>): void @@ -358,6 +380,9 @@ create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Wi 从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -366,7 +391,7 @@ create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback<Wi | -------- | -------------------------------------- | ---- | ------------------------------------------------------------ | | 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) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | | callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | **示例:** @@ -384,7 +409,7 @@ let windowClass = null; }); ``` -## window.create8+ +## window.create(deprecated) create(ctx: Context, id: string, type: WindowType): Promise<Window> @@ -392,6 +417,9 @@ create(ctx: Context, id: string, type: WindowType): Promise<Window> 从API version 9开始,当Context为[ServiceExtensionContext](js-apis-service-extension-context.md)时,创建系统窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[createWindow()](#windowcreatewindow9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -400,7 +428,7 @@ create(ctx: Context, id: string, type: WindowType): Promise<Window> | ------ | ------------------------- | ---- | ------------------------------------------------------------ | | 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) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | **返回值:** @@ -421,12 +449,88 @@ promise.then((data)=> { }); ``` -## window.find7+ +## window.createWindow9+ + +createWindow(config: Configuration, callback: AsyncCallback<Window<): void; + +创建子窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------------------- | -- | --------------------------------- | +| config | [Configuration](#configuration9) | 是 | 当前应用上下文信息。 | +| callback | AsyncCallback<[Window](#window)> | 是 | 回调函数。返回当前创建的子窗口对象。 | + +**示例:** + +```js +let windowClass = null; +let config = {"alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, this.context, ""}; +try { + window.createWindow(config, (err, data) => { + if (err.code) { + console.error('Failed to create the window. Cause: ' + JSON.stringify(err)); + return; + } + windowClass = data; + console.info('Succeeded in creating the window. Data: ' + JSON.stringify(data)); + windowClass.resetSize(500, 1000); + }); +} catch (exception) { + console.error('Failed to create the window. Cause: ' + JSON.stringify(exception)); +}; +``` + +## window.createWindow9+ + +createWindow(config: Configuration): Promise<Window<; + +创建子窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | -------------------------------- | -- | ------------------ | +| config | [Configuration](#configuration9) | 是 | 当前应用上下文信息。 | + +**返回值:** + +| 类型 | 说明 | +| -------------------------------- | ------------------------------------ | +| Promise<[Window](#window)> | Promise对象。返回当前创建的子窗口对象。 | + +**示例:** + +```js +let windowClass = null; +let config = {"alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, this.context, ""}; +try { + let promise = window.createWindow(config); + promise.then((data)=> { + windowClass = data; + console.info('Succeeded in creating the window. Data:' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to create the Window. Cause:' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to create the window. Cause: ' + JSON.stringify(exception)); +}; +``` + +## window.find(deprecated) find(id: string, callback: AsyncCallback<Window>): void 查找id所对应的窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -450,12 +554,15 @@ let windowClass = null; }); ``` -## window.find7+ +## window.find(deprecated) find(id: string): Promise<Window> 查找id所对应的窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[findWindow()](#windowfindwindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -483,12 +590,45 @@ promise.then((data)=> { }); ``` -## window.getTopWindow +## window.findWindow9+ + +findWindow(name: string): Window; + +查找name所对应的窗口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | -------- | +| name | string | 是 | 窗口id。 | + +**返回值:** + +| 类型 | 说明 | +| ----------------- | ------------------- | +| [Window](#window) | 当前查找的窗口对象。 | + +**示例:** + +```js +try { + let windowClass = window.findWindow('alertWindow'); +} catch (exception) { + console.error('Failed to find the Window. Cause: ' + JSON.stringify(exception)); +}; +``` + +## window.getTopWindow(deprecated) getTopWindow(callback: AsyncCallback<Window>): void 获取当前应用内最后显示的窗口,使用callback异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。 + **模型约束:** 此接口仅可在FA模型下使用。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -513,12 +653,15 @@ window.getTopWindow((err, data) => { }); ``` -## window.getTopWindow +## window.getTopWindow(deprecated) getTopWindow(): Promise<Window> 获取当前应用内最后显示的窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。 + **模型约束:** 此接口仅可在FA模型下使用。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -542,12 +685,15 @@ promise.then((data)=> { }) ``` -## window.getTopWindow8+ +## window.getTopWindow(deprecated) getTopWindow(ctx: Context, callback: AsyncCallback<Window>): void 获取当前应用内最后显示的窗口,使用callback异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -571,12 +717,15 @@ window.getTopWindow(this.context, (err, data) => { }); ``` -## window.getTopWindow8+ +## window.getTopWindow(deprecated) getTopWindow(ctx: Context): Promise<Window> 获取当前应用内最后显示的窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getLastWindow()](#windowgetlastwindow9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -604,6 +753,76 @@ promise.then((data)=> { }) ``` +## window.getLastWindow9+ + +getLastWindow(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 +let windowClass = null; +try { + window.getLastWindow(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)); + }); +} catch (exception) { + console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception)); +}; +``` + +## window.getLastWindow9+ + +getLastWindow(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 +let windowClass = null; +try { + let promise = window.getLastWindow(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)); + }); +} catch (exception) { + console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(exception)); +}; +``` + ## window.minimizeAll9+ minimizeAll(id: number, callback: AsyncCallback<void>): void @@ -632,13 +851,17 @@ display.getDefaultDisplay((err, data) => { return; } displayClass = data; - window.minimizeAll(displayClass.id, (err, data) => { - if(err.code) { - console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err)); - return; - } - console.info('Succeeded in minimizing all windows.'); - }); + try { + window.minimizeAll(displayClass.id, (err, data) => { + if(err.code) { + console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Succeeded in minimizing all windows.'); + }); + } catch (exception) { + console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception)); + }; }); ``` @@ -675,12 +898,16 @@ display.getDefaultDisplay((err, data) => { return; } displayClass = data; - let promise = window.minimizeAll(displayClass.id); - promise.then((data)=> { - console.info('Succeeded in minimizing all windows.'); - }).catch((err)=>{ - console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err)); - }) + try { + let promise = window.minimizeAll(displayClass.id); + promise.then((data)=> { + console.info('Succeeded in minimizing all windows.'); + }).catch((err)=>{ + console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(err)); + }); + } catch (exception) { + console.error('Failed to minimize all windows. Cause: ' + JSON.stringify(exception)); + }; }); ``` @@ -756,9 +983,13 @@ setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback<void>) **示例:** ```js -window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (data) => { - console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data)); -}); +try { + window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (data) => { + console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception)); +}; ``` ## window.setWindowLayoutMode9+ @@ -785,12 +1016,16 @@ setWindowLayoutMode(mode: WindowLayoutMode): Promise<void> **示例:** ```js -let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE); -promise.then((data)=> { - console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data)); -}).catch((err)=>{ - console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err)); -}) +try { + let promise = window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE); + promise.then((data)=> { + console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set window layout mode. Cause: ' + JSON.stringify(exception)); +}; ``` ## on('systemBarTintChange')8+ @@ -813,9 +1048,13 @@ on(type: 'systemBarTintChange', callback: Callback<SystemBarTintState>): v **示例:** ```js -window.on('systemBarTintChange', (data) => { - console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data)); -}); +try { + window.on('systemBarTintChange', (data) => { + console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to enable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception)); +}; ``` ## off('systemBarTintChange')8+ @@ -838,7 +1077,11 @@ off(type: 'systemBarTintChange', callback?: Callback<SystemBarTintState >) **示例:** ```js -window.off('systemBarTintChange'); +try { + window.off('systemBarTintChange'); +} catch (exception) { + console.error('Failed to disable the listener for systemBarTint changes. Cause: ' + JSON.stringify(exception)); +}; ``` ## Window @@ -957,12 +1200,15 @@ promise.then((data)=> { }) ``` -### show7+ +### show(deprecated) show(callback: AsyncCallback<void>): void 显示当前窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -983,12 +1229,15 @@ windowClass.show((err, data) => { }) ``` -### show7+ +### show(deprecated) show(): Promise<void> 显示当前窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[showWindow()](#showwindow9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -1008,6 +1257,57 @@ promise.then((data)=> { }) ``` +### showWindow9+ + +showWindow(callback: AsyncCallback<void>): void + +显示当前窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | --------- | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +windowClass.showWindow((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)); +}); +``` + +### showWindow9+ + +showWindow(): Promise<void> + +显示当前窗口,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ----------------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let promise = windowClass.showWindow(); +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)); +}); +``` + ### showWithAnimation9+ showWithAnimation(callback: AsyncCallback<void>): void @@ -1063,12 +1363,15 @@ promise.then((data)=> { }) ``` -### destroy7+ +### destroy(deprecated) destroy(callback: AsyncCallback<void>): void 销毁当前窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1089,12 +1392,15 @@ windowClass.destroy((err, data) => { }) ``` -### destroy7+ +### destroy(deprecated) destroy(): Promise<void> 销毁当前窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[destroyWindow()](#destroywindow9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -1114,12 +1420,66 @@ promise.then((data)=> { }) ``` -### moveTo7+ +### destroyWindow9+ + +destroyWindow(callback: AsyncCallback<void>): void + +销毁当前窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | --------- | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +windowClass.destroyWindow((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)); +}) +``` + +### destroyWindow9+ + +destroyWindow(): Promise<void> + +销毁当前窗口,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let promise = windowClass.destroyWindow(); +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)); +}) +``` + +### moveTo(deprecated) moveTo(x: number, y: number, callback: AsyncCallback<void>): void 移动窗口位置,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowTo9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1143,12 +1503,15 @@ windowClass.moveTo(300, 300, (err, data)=>{ }); ``` -### moveTo7+ +### moveTo(deprecated) moveTo(x: number, y: number): Promise<void> 移动窗口位置,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[moveWindowTo()](#movewindowTo9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1175,12 +1538,83 @@ promise.then((data)=> { }) ``` -### resetSize7+ +### moveWindowTo9+ + +moveWindowTo(x: number, y: number, callback: AsyncCallback<void>): void + +移动窗口位置,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | --------------------------------------------- | +| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 | +| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +try { + windowClass.moveWindowTo(300, 300, (err, data)=>{ + if (err.code) { + console.error('Failed to move the window. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in moving the window. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to move the window. Cause:' + JSON.stringify(exception)); +}; +``` + +### moveWindowTo9+ + +moveWindowTo(x: number, y: number): Promise<void> + +移动窗口位置,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -- | ----- | -- | --------------------------------------------- | +| x | number | 是 | 窗口在x轴方向移动的值,值为正表示右移,单位为px。 | +| y | number | 是 | 窗口在y轴方向移动的值,值为正表示下移,单位为px。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +try { + let promise = windowClass.moveWindowTo(300, 300); + promise.then((data)=> { + console.info('Succeeded in moving the window. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to move the window. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to move the window. Cause:' + JSON.stringify(exception)); +}; +``` + +### resetSize(deprecated) resetSize(width: number, height: number, callback: AsyncCallback<void>): void 改变当前窗口大小,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1203,12 +1637,15 @@ windowClass.resetSize(500, 1000, (err, data) => { }); ``` -### resetSize7+ +### resetSize(deprecated) resetSize(width: number, height: number): Promise<void> 改变当前窗口大小,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[resize()](#resize9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1235,6 +1672,74 @@ promise.then((data)=> { }); ``` +### resize9+ + +resize(width: number, height: number, callback: AsyncCallback<void>): void + +改变当前窗口大小,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | ------------------------ | +| width | number | 是 | 目标窗口的宽度,单位为px。 | +| height | number | 是 | 目标窗口的高度,单位为px。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +try { + windowClass.resize(500, 1000, (err, data) => { + if (err.code) { + console.error('Failed to change the window size. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in changing the window size. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to change the window size. Cause:' + JSON.stringify(exception)); +}; +``` + +### resize9+ + +resize(width: number, height: number): Promise<void> + +改变当前窗口大小,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | -- | ------------------------ | +| width | number | 是 | 目标窗口的宽度,单位为px。 | +| height | number | 是 | 目标窗口的高度,单位为px。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +try { + let promise = windowClass.resize(500, 1000); + promise.then((data)=> { + console.info('Succeeded in changing the window size. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to change the window size. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to change the window size. Cause: ' + JSON.stringify(exception)); +}; +``` + ### setWindowType(deprecated) setWindowType(type: WindowType, callback: AsyncCallback<void>): void @@ -1253,7 +1758,7 @@ setWindowType(type: WindowType, callback: AsyncCallback<void>): void | 参数名 | 类型 | 必填 | 说明 | | -------- | ------------------------- | ---- | ---------- | -| type | [WindowType](#windowtype) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **示例:** @@ -1287,7 +1792,7 @@ setWindowType(type: WindowType): Promise<void> | 参数名 | 类型 | 必填 | 说明 | | ------ | ------------------------- | ---- | ---------- | -| type | [WindowType](#windowtype) | 是 | 窗口类型。 | +| type | [WindowType](#windowtype7) | 是 | 窗口类型。 | **返回值:** @@ -1307,12 +1812,87 @@ promise.then((data)=> { }); ``` -### getProperties +### setWindowMode9+ + +setWindowMode(mode: WindowMode, callback: AsyncCallback<void>): void + +设置窗口模式,使用callback异步回调。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------- | -- | --------- | +| mode | [WindowMode](#windowmode7) | 是 | 窗口类型。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let mode = window.WindowMode.FULLSCREEN; +try { + windowClass.setWindowMode(mode, (err, data) => { + if (err.code) { + console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Succeeded in setting the window mode. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setWindowMode9+ + +setWindowMode(mode: WindowMode): Promise<void> + +设置窗口类型,使用Promise异步回调。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | -------------------------- | -- | --------- | +| mode | [WindowMode](#windowmode7) | 是 | 窗口类型。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ----------------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let mode = window.WindowMode.FULLSCREEN; +try { + let promise = windowClass.setWindowMode(type); + promise.then((data)=> { + console.info('Succeeded in setting the window mode. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to set the window mode. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set the window mode. Cause: ' + JSON.stringify(exception)); +}; +``` + +### getProperties(deprecated) getProperties(callback: AsyncCallback<WindowProperties>): void 获取当前窗口的属性,使用callback异步回调,返回WindowProperties。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1333,12 +1913,15 @@ windowClass.getProperties((err, data) => { }); ``` -### getProperties +### getProperties(deprecated) getProperties(): Promise<WindowProperties> 获取当前窗口的属性,使用Promise异步回调,返回WindowProperties。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowproperties9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -1358,12 +1941,39 @@ promise.then((data)=> { }); ``` -### getAvoidArea7+ +### getWindowProperties9+ + +getWindowProperties(): WindowProperties + +获取当前窗口的属性,返回WindowProperties。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------------------------- | ------------- | +| [WindowProperties](#windowproperties) | 当前窗口属性。 | + +**示例:** + +```js +try { + let properties = windowClass.getWindowProperties(); +} catch (exception) { + console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(exception)); +}; +``` + +### getAvoidArea(deprecated) getAvoidArea(type: [AvoidAreaType](#avoidareatype7), callback: AsyncCallback<[AvoidArea](#avoidarea7)>): void 获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowAvoidArea()](#getwindowavoidarea9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1386,12 +1996,15 @@ windowClass.getAvoidArea(type, (err, data) => { }); ``` -### getAvoidArea7+ +### getAvoidArea(deprecated) getAvoidArea(type: [AvoidAreaType](#avoidareatype7)): Promise<[AvoidArea](#avoidarea7)> 获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[getWindowProperties()](#getwindowavoidarea9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1418,12 +2031,46 @@ promise.then((data)=> { }); ``` -### setFullScreen +### getWindowAvoidArea9+ + +getWindowAvoidArea(type: [AvoidAreaType](#avoidareatype7)): [AvoidArea](#avoidarea7) + +获取窗口内容规避的区域,如系统的系统栏区域、凹凸区域。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---- |----------------------------------| -- | ------------------------------------------------------------ | +| type | [AvoidAreaType](#avoidareatype7) | 是 | 表示规避区类型。type为TYPE_SYSTEM,表示系统默认区域。type为TYPE_CUTOUT,表示刘海屏区域。type为TYPE_SYSTEM_GESTURE,表示手势区域。type为TYPE_KEYBOARD,表示软键盘区域。 | + +**返回值:** + +| 类型 | 说明 | +|--------------------------| ----------------- | +| [AvoidArea](#avoidarea7) | 窗口内容规避区域。 | + +**示例:** + +```js +let type = window.AvoidAreaType.TYPE_SYSTEM; +try { + let avoidArea = windowClass.getWindowAvoidArea(type); +} catch (exception) { + console.error('Failed to obtain the area. Cause:' + JSON.stringify(exception)); +}; +``` + +### setFullScreen(deprecated) setFullScreen(isFullScreen: boolean, callback: AsyncCallback<void>): void 设置是否为全屏状态,使用callback异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1446,12 +2093,15 @@ windowClass.setFullScreen(isFullScreen, (err, data) => { }); ``` -### setFullScreen +### setFullScreen(deprecated) setFullScreen(isFullScreen: boolean): Promise<void> 设置是否为全屏状态,使用Promise异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1478,12 +2128,15 @@ promise.then((data)=> { }); ``` -### setLayoutFullScreen7+ +### setLayoutFullScreen(deprecated) setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void 设置窗口的布局是否为全屏显示状态,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1506,12 +2159,15 @@ windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) => { }); ``` -### setLayoutFullScreen7+ +### setLayoutFullScreen(deprecated) setLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void> 设置窗口的布局是否为全屏显示状态,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowLayoutFullScreen()](#setwindowlayoutfullscreen9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1538,12 +2194,83 @@ promise.then((data)=> { }); ``` -### setSystemBarEnable7+ +### setWindowLayoutFullScreen9+ + +setWindowLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback<void>): void + +设置窗口的布局是否为全屏显示状态,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------ | ------------------------- | -- | ------------------------------------------------------------ | +| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let isLayoutFullScreen= true; +try { + windowClass.setWindowLayoutFullScreen(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)); + }); +} catch (exception) { + console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception)); +}; +``` + +### setWindowLayoutFullScreen9+ + +setWindowLayoutFullScreen(isLayoutFullScreen: boolean): Promise<void> + +设置窗口的布局是否为全屏显示状态,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------ | ------- | -- | ------------------------------------------------------------ | +| isLayoutFullScreen | boolean | 是 | 窗口的布局是否为全屏显示状态,且全屏状态下状态栏、导航栏仍然显示。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let isLayoutFullScreen = true; +try { + let promise = windowClass.setWindowLayoutFullScreen(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)); + }); +} catch (exception) { + console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(exception)); +}; +``` + +### setSystemBarEnable(deprecated) setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void 设置导航栏、状态栏的可见模式,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1567,12 +2294,15 @@ windowClass.setSystemBarEnable(names, (err, data) => { }); ``` -### setSystemBarEnable7+ +### setSystemBarEnable(deprecated) setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void> 设置导航栏、状态栏的可见模式,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarEnable()](#setwindowsystembarenable9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1600,55 +2330,131 @@ promise.then((data)=> { }); ``` -### setSystemBarProperties +### setWindowSystemBarEnable9+ -setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void +setWindowSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback<void>): void -设置窗口内导航栏、状态栏的属性,使用callback异步回调。 +设置导航栏、状态栏的可见模式,使用callback异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------------------- | ------------------------------------------- | ---- | ---------------------- | -| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | -| callback | AsyncCallback<void> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | --------- | +| names | Array | 是 | 设置状态栏和导航栏是否显示。
例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | **示例:** ```js -let SystemBarProperties={ - statusBarColor: '#ff00ff', - navigationBarColor: '#00ff00', - //以下两个属性从API Version7开始支持 - isStatusBarLightIcon: true, - isNavigationBarLightIcon:false, - //以下两个属性从API Version8开始支持 - statusBarContentColor:'#ffffff', - navigationBarContentColor:'#00ffff' +// 此处以不显示导航栏、状态栏为例 +let names = []; +try { + windowClass.setWindowSystemBarEnable(names, (err, data) => { + if (err.code) { + console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in setting the system bar to be invisible. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception)); }; -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 +### setWindowSystemBarEnable9+ -setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void> +setWindowSystemBarEnable(names: Array<'status' | 'navigation'>): Promise<void> -设置窗口内导航栏、状态栏的属性,使用Promise异步回调。 +设置导航栏、状态栏的可见模式,使用Promise异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------------------- | ------------------------------------------- | ---- | ---------------------- | +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ----- | -- | ------------------------------------------------------------------------------------------------------------ | +| names | Array | 是 | 设置状态栏和导航栏是否显示。
例如,需全部显示,该参数设置为['status', 'navigation'];不设置,则默认不显示。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +// 此处以不显示导航栏、状态栏为例 +let names = []; +try { + let promise = windowClass.setWindowSystemBarEnable(names); + promise.then((data)=> { + console.info('Succeeded in setting the system bar to be invisible. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set the system bar to be invisible. Cause:' + JSON.stringify(exception)); +}; +``` + +### setSystemBarProperties(deprecated) + +setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void + +设置窗口内导航栏、状态栏的属性,使用callback异步回调。 + +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9)。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------- | ------------------------------------------- | ---- | ---------------------- | +| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let 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(deprecated) + +setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void> + +设置窗口内导航栏、状态栏的属性,使用Promise异步回调。 + +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowSystemBarProperties()](#setwindowsystembarproperties9-1)。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------- | ------------------------------------------- | ---- | ---------------------- | | SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | **返回值:** @@ -1678,6 +2484,92 @@ promise.then((data)=> { }); ``` +### setWindowSystemBarProperties(deprecated) + +setWindowSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback<void>): void + +设置窗口内导航栏、状态栏的属性,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------- | ------------------------------------------- | ---- | ---------------------- | +| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let SystemBarProperties={ + statusBarColor: '#ff00ff', + navigationBarColor: '#00ff00', + //以下两个属性从API Version7开始支持 + isStatusBarLightIcon: true, + isNavigationBarLightIcon:false, + //以下两个属性从API Version8开始支持 + statusBarContentColor:'#ffffff', + navigationBarContentColor:'#00ffff' +}; +try { + windowClass.setWindowSystemBarProperties(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)); + }); +} catch (exception) { + console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setWindowSystemBarProperties(deprecated) + +setWindowSystemBarProperties(systemBarProperties: SystemBarProperties): Promise<void> + +设置窗口内导航栏、状态栏的属性,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------------------- | ------------------------------------------- | ---- | ---------------------- | +| SystemBarProperties | [SystemBarProperties](#systembarproperties) | 是 | 导航栏、状态栏的属性。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let SystemBarProperties={ + statusBarColor: '#ff00ff', + navigationBarColor: '#00ff00', + //以下两个属性从API Version7开始支持 + isStatusBarLightIcon: true, + isNavigationBarLightIcon:false, + //以下两个属性从API Version8开始支持 + statusBarContentColor:'#ffffff', + navigationBarContentColor:'#00ffff' +}; +try { + let promise = windowClass.setWindowSystemBarProperties(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)); + }); +} catch (exception) { + console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(exception)); +}; +``` + ### setPreferredOrientation9+ setPreferredOrientation(orientation: Orientation, callback: AsyncCallback<void>): void @@ -1697,13 +2589,17 @@ setPreferredOrientation(orientation: Orientation, callback: AsyncCallback<voi ```js let orientation = window.Orientation.AUTO_ROTATION; -windowClass.setPreferredOrientation(orientation, (err, data) => { - if (err.code) { - console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err)); - return; - } - console.info('Succeeded in setting window orientation. Data: ' + JSON.stringify(data)); -}); +try { + windowClass.setPreferredOrientation(orientation, (err, data) => { + if (err.code) { + console.error('Failed to set window orientation. Cause: ' + JSON.stringify(err)); + return; + } + console.info('Succeeded in setting window orientation. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception)); +}; ``` ### setPreferredOrientation9+ @@ -1730,20 +2626,27 @@ setPreferredOrientation(orientation: Orientation): Promise<void> ```js let orientation = window.Orientation.AUTO_ROTATION; -let promise = windowClass.setPreferredOrientation(orientation); -promise.then((data)=> { - console.info('Succeeded in setting the window orientation. Data: ' + JSON.stringify(data)); -}).catch((err)=>{ - console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err)); -}); +try { + let promise = windowClass.setPreferredOrientation(orientation); + promise.then((data)=> { + console.info('Succeeded in setting the window orientation. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to set the window orientation. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set window orientation. Cause: ' + JSON.stringify(exception)); +}; ``` -### loadContent7+ +### loadContent(deprecated) loadContent(path: string, callback: AsyncCallback<void>): void 为当前窗口加载具体页面内容,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1765,12 +2668,15 @@ windowClass.loadContent('pages/page2/page2', (err, data) => { }); ``` -### loadContent7+ +### loadContent(deprecated) loadContent(path: string): Promise<void> 为当前窗口加载具体页面内容,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setUIContent()](#setuicontent9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1795,6 +2701,73 @@ promise.then((data)=> { console.error('Failed to load the content. Cause: ' + JSON.stringify(err)); }); ``` + +### setUIContent9+ + +setUIContent(path: string, callback: AsyncCallback<void>): void + +为当前窗口加载具体页面内容,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ------------------------- | -- | -------------------- | +| path | string | 是 | 设置加载页面的路径。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +try { + windowClass.setUIContent('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)); + }); +} catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); +}; +``` + +### setUIContent9+ + +setUIContent(path: string): Promise<void> + +为当前窗口加载具体页面内容,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---- | ------ | -- | ------------------ | +| path | string | 是 | 设置加载页面的路径。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +try { + let promise = windowClass.setUIContent('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)); + }); +} catch (exception) { + console.error('Failed to load the content. Cause: ' + JSON.stringify(exception)); +}; +``` + ### loadContent9+ loadContent(path: string, storage: LocalStorage, callback: AsyncCallback<void>): void @@ -1822,13 +2795,17 @@ class myAbility extends Ability { this.storage = new LocalStorage(); this.storage.setOrCreate('storageSimpleProp',121); console.log('onWindowStageCreate'); - windowStage.loadContent('pages/page2',this.storage,(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)); - }); + try { + windowStage.loadContent('pages/page2',this.storage,(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)); + }); + } catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); + }; } } ``` @@ -1866,22 +2843,30 @@ class myAbility extends Ability { this.storage.setOrCreate('storageSimpleProp',121); console.log('onWindowStageCreate'); let windowClass = null; - let promise = windowStage.loadContent('pages/page2',this.storage); - promise.then((data)=> { - windowClass = 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)); - }) + try { + let promise = windowStage.loadContent('pages/page2',this.storage); + promise.then((data)=> { + windowClass = 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)); + }); + } catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); + }; } } ``` -### isShowing7+ + +### isShowing(deprecated) isShowing(callback: AsyncCallback<boolean>): void 判断当前窗口是否已显示,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -1902,12 +2887,15 @@ windowClass.isShowing((err, data) => { }); ``` -### isShowing7+ +### isShowing(deprecated) isShowing(): Promise<boolean> 判断当前窗口是否已显示,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[isWindowShowing()](#iswindowshowing9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -1927,6 +2915,31 @@ promise.then((data)=> { }); ``` +### isWindowShowing(deprecated) + +isWindowShowing(): boolean; + +判断当前窗口是否已显示。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------- | ------------------------------------------------------- | +| boolean | 返回true表示当前窗口已显示,返回false则表示当前窗口未显示。 | + +**示例:** + +```js +try { + let data = windowClass.isWindowShowing(); + console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data)); +} catch (exception) { + console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(exception)); +}; +``` + ### on('windowSizeChange')7+ on(type: 'windowSizeChange', callback: Callback<Size>): void @@ -1945,9 +2958,13 @@ on(type: 'windowSizeChange', callback: Callback<Size>): void **示例:** ```js -windowClass.on('windowSizeChange', (data) => { - console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data)); -}); +try { + windowClass.on('windowSizeChange', (data) => { + console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to enable the listener for window size changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('windowSizeChange')7+ @@ -1968,7 +2985,11 @@ off(type: 'windowSizeChange', callback?: Callback<Size >): void **示例:** ```js -windowClass.off('windowSizeChange'); +try { + windowClass.off('windowSizeChange'); +} catch (exception) { + console.error('Failed to disable the listener for window size changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### on('systemAvoidAreaChange')(deprecated) @@ -2021,7 +3042,6 @@ off(type: 'systemAvoidAreaChange', callback?: Callback<[AvoidArea](#avoidarea windowClass.off('systemAvoidAreaChange'); ``` - ### on('avoidAreaChange')9+ on(type: 'avoidAreaChange', callback: Callback<{[AvoidAreaType](#avoidareatype7), [AvoidArea](#avoidarea7)}>): void @@ -2040,9 +3060,14 @@ on(type: 'avoidAreaChange', callback: Callback<{[AvoidAreaType](#avoidareatyp **示例:** ```js -windowClass.on('avoidAreaChange', (data) => { - console.info('Succeeded in enabling the listener for system avoid area changes. type:' + JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area)); -}); +try { + windowClass.on('avoidAreaChange', (data) => { + console.info('Succeeded in enabling the listener for system avoid area changes. type:' + + JSON.stringify(data.type) + ', area: ' + JSON.stringify(data.area)); + }); +} catch (exception) { + console.error('Failed to enable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('avoidAreaChange')9+ @@ -2063,7 +3088,11 @@ off(type: 'avoidAreaChange', callback: Callback<{[AvoidAreaType](#avoidareaty **示例:** ```js -windowClass.off('avoidAreaChange'); +try { + windowClass.off('avoidAreaChange'); +} catch (exception) { + console.error('Failed to disable the listener for system avoid area changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### on('keyboardHeightChange')7+ @@ -2084,9 +3113,13 @@ on(type: 'keyboardHeightChange', callback: Callback<number>): void **示例:** ```js -windowClass.on('keyboardHeightChange', (data) => { - console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data)); -}); +try { + windowClass.on('keyboardHeightChange', (data) => { + console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to enable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('keyboardHeightChange')7+ @@ -2107,7 +3140,11 @@ off(type: 'keyboardHeightChange', callback?: Callback<number>): void **示例:** ```js -windowClass.off('keyboardHeightChange'); +try { + windowClass.off('keyboardHeightChange'); +} catch (exception) { + console.error('Failed to disable the listener for keyboard height changes. Cause: ' + JSON.stringify(exception)); +}; ``` ### on('touchOutside')9+ @@ -2130,9 +3167,13 @@ on(type: 'touchOutside', callback: Callback<void>): void **示例:** ```js -windowClass.on('touchOutside', () => { - console.info('touch outside'); -}); +try { + windowClass.on('touchOutside', () => { + console.info('touch outside'); + }); +} catch (exception) { + console.error('Failed to register callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('touchOutside')9+ @@ -2155,7 +3196,11 @@ off(type: 'touchOutside', callback?: Callback<void>): void **示例:** ```js -windowClass.off('touchOutside'); +try { + windowClass.off('touchOutside'); +} catch (exception) { + console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### on('screenshot')9+ @@ -2176,9 +3221,13 @@ on(type: 'screenshot', callback: Callback<void>): void **示例:** ```js -windowClass.on('screenshot', () => { - console.info('screenshot happened'); -}); +try { + windowClass.on('screenshot', () => { + console.info('screenshot happened'); + }); +} catch (exception) { + console.error('Failed to register callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('screenshot')9+ @@ -2202,11 +3251,18 @@ off(type: 'screenshot', callback?: Callback<void>): void let callback = ()=>{ console.info('screenshot happened'); } -windowClass.on('screenshot', callback) -windowClass.off('screenshot', callback) - -// 如果通过on开启多个callback进行监听,同时关闭所有监听: -windowClass.off('screenshot'); +try { + windowClass.on('screenshot', callback); +} catch (exception) { + console.error('Failed to register callback. Cause: ' + JSON.stringify(exception)); +}; +try { + windowClass.off('screenshot', callback); + // 如果通过on开启多个callback进行监听,同时关闭所有监听: + windowClass.off('screenshot'); +} catch (exception) { + console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### on('dialogTargetTouch')9+ @@ -2227,9 +3283,13 @@ on(type: 'dialogTargetTouch', callback: Callback<void>): void **示例:** ```js -windowClass.on('dialogTargetTouch', () => { - console.info('touch dialog target'); -}); +try { + windowClass.on('dialogTargetTouch', () => { + console.info('touch dialog target'); + }); +} catch (exception) { + console.error('Failed to register callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### off('dialogTargetTouch')9+ @@ -2250,7 +3310,11 @@ off(type: 'dialogTargetTouch', callback?: Callback<void>): void **示例:** ```js -windowClass.off('dialogTargetTouch'); +try { + windowClass.off('dialogTargetTouch'); +} catch (exception) { + console.error('Failed to unregister callback. Cause: ' + JSON.stringify(exception)); +}; ``` ### bindDialogTarget9+ @@ -2294,15 +3358,19 @@ class TestRemoteObject extends rpc.RemoteObject { } } let token = new TestRemoteObject('testObject'); -windowClass.bindDialogTarget(token, () => { - console.info('Dialog Window Need Destroy.'); -}, (err, data) => { - if (err.code) { - console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err)); - return; - } - console.info('Succeeded in binding dialog target. Data:' + JSON.stringify(data)); -}); +try { + windowClass.bindDialogTarget(token, () => { + console.info('Dialog Window Need Destroy.'); + }, (err, data) => { + if (err.code) { + console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in binding dialog target. Data:' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception)); +}; ``` ### bindDialogTarget9+ @@ -2351,22 +3419,29 @@ class TestRemoteObject extends rpc.RemoteObject { } } let token = new TestRemoteObject('testObject'); -let promise = windowClass.bindDialogTarget(token, () => { - console.info('Dialog Window Need Destroy.'); -}); -promise.then((data)=> { - console.info('Succeeded in binding dialog target. Data:' + JSON.stringify(data)); -}).catch((err)=>{ - console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err)); -}); +try { + let promise = windowClass.bindDialogTarget(token, () => { + console.info('Dialog Window Need Destroy.'); + }); + promise.then((data)=> { + console.info('Succeeded in binding dialog target. Data:' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to bind dialog target. Cause:' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to bind dialog target. Cause:' + JSON.stringify(exception)); +}; ``` -### isSupportWideGamut8+ +### isSupportWideGamut(deprecated) isSupportWideGamut(callback: AsyncCallback<boolean>): void 判断当前窗口是否支持广色域模式,使用callback异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2387,12 +3462,15 @@ windowClass.isSupportWideGamut((err, data) => { }) ``` -### isSupportWideGamut8+ +### isSupportWideGamut(deprecated) isSupportWideGamut(): Promise<boolean> 判断当前窗口是否支持广色域模式,使用Promise异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[isWindowSupportWideGamut()](#iswindowsupportwidegamut9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -2412,12 +3490,66 @@ promise.then((data)=> { }); ``` -### setColorSpace8+ +### isWindowSupportWideGamut9+ + +isWindowSupportWideGamut(callback: AsyncCallback<boolean>): void + +判断当前窗口是否支持广色域模式,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------- | ---------------------------- | -- | -------------------------------------------------------------------------------- | +| callback | AsyncCallback<boolean> | 是 | 回调函数。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 | + +**示例:** + +```js +windowClass.isWindowSupportWideGamut((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)); +}); +``` + +### isWindowSupportWideGamut9+ + +isWindowSupportWideGamut(): Promise<boolean> + +判断当前窗口是否支持广色域模式,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ---------------------- | ------------------------------------------------------------------------------------ | +| Promise<boolean> | Promise对象。返回true表示当前窗口支持广色域模式,返回false则表示当前窗口不支持广色域模式。 | + +**示例:** + +```js +let promise = windowClass.isWindowSupportWideGamut(); +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)); +}); +``` + +### setColorSpace(deprecated) setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void 设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2439,12 +3571,15 @@ windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) => { }) ``` -### setColorSpace8+ +### setColorSpace(deprecated) setColorSpace(colorSpace:ColorSpace): Promise<void> 设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[setWindowColorSpace()](#setwindowcolorspace9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2470,12 +3605,81 @@ promise.then((data)=> { }); ``` -### getColorSpace8+ +### setWindowColorSpace9+ + +setWindowColorSpace(colorSpace:ColorSpace, callback: AsyncCallback<void>): void + +设置当前窗口为广色域模式或默认色域模式,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------- | -- | ----------- | +| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +try { + windowClass.setWindowColorSpace(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)); + }); +} catch (exception) { + console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception)); +}; +``` + +### setWindowColorSpace9+ + +setWindowColorSpace(colorSpace:ColorSpace): Promise<void> + +设置当前窗口为广色域模式或默认色域模式,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------- | -- | ------------- | +| colorSpace | [ColorSpace](#colorspace) | 是 | 设置色域模式。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +try { + let promise = windowClass.setWindowColorSpace(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 colorspace. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set window colorspace. Cause:' + JSON.stringify(exception)); +}; +``` + +### getColorSpace(deprecated) getColorSpace(callback: AsyncCallback<ColorSpace>): void 获取当前窗口色域模式,使用callback异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2496,12 +3700,15 @@ windowClass.getColorSpace((err, data) => { }) ``` -### getColorSpace8+ +### getColorSpace(deprecated) getColorSpace(): Promise<ColorSpace> 获取当前窗口色域模式,使用Promise异步回调。 +> **说明:** +> 从 API version 8开始支持,从API version 9开始废弃,推荐使用[getWindowColorSpace()](#getwindowcolorspace9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **返回值:** @@ -2521,12 +3728,35 @@ promise.then((data)=> { }); ``` -### setBackgroundColor +### getWindowColorSpace9+ + +getWindowColorSpace(): ColorSpace + +获取当前窗口色域模式。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ------------------------- | ------------- | +| [ColorSpace](#colorspace) | 当前色域模式。 | + +**示例:** + +```js +let colorSpace = windowClass.getWindowColorSpace(); +``` + +### setBackgroundColor(deprecated) setBackgroundColor(color: string, callback: AsyncCallback<void>): void 设置窗口的背景色,使用callback异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2549,12 +3779,15 @@ windowClass.setBackgroundColor(color, (err, data) => { }); ``` -### setBackgroundColor +### setBackgroundColor(deprecated) setBackgroundColor(color: string): Promise<void> 设置窗口的背景色,使用Promise异步回调。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBackgroundColor()](#setwindowbackgroundcolor9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2581,35 +3814,40 @@ promise.then((data)=> { }); ``` -### setWakeUpScreen()9+ +### setWindowBackgroundColor9+ -setWakeUpScreen(wakeUp: boolean): void; - -窗口唤醒屏幕。 +setWindowBackgroundColor(color: string): void -**系统接口:** 此接口为系统接口。 +设置窗口的背景色。Stage模型下,该接口需要在[loadContent](#loadcontent9)之后使用。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ---------------- | ------- | ---- | ---------------------------- | -| wakeUp | boolean | 是 | 是否设置唤醒屏幕。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----- | ------ | -- | ----------------------------------------------------------------------- | +| color | string | 是 | 需要设置的背景色,为十六进制颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | **示例:** ```js -let wakeUp = true; -windowClass.setWakeUpScreen(wakeUp); +let color = '#00ff33'; +try { + windowClass.setWindowBackgroundColor(color); +} catch (exception) { + console.error('Failed to set the background color. Cause: ' + JSON.stringify(exception)); +}; ``` -### setBrightness +### setBrightness(deprecated) setBrightness(brightness: number, callback: AsyncCallback<void>): void 设置屏幕亮度值,使用callback异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2632,12 +3870,15 @@ windowClass.setBrightness(brightness, (err, data) => { }); ``` -### setBrightness +### setBrightness(deprecated) setBrightness(brightness: number): Promise<void> 设置屏幕亮度值,使用Promise异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowBrightness()](#setwindowbrightness9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2664,6 +3905,74 @@ promise.then((data)=> { }); ``` +### setWindowBrightness9+ + +setWindowBrightness(brightness: number, callback: AsyncCallback<void>): void + +设置屏幕亮度值,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------------------------- | -- | --------------------------------- | +| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let brightness = 1; +try { + windowClass.setWindowBrightness(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)); + }); +} catch (exception) { + console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setWindowBrightness9+ + +setWindowBrightness(brightness: number): Promise<void> + +设置屏幕亮度值,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------- | ------ | -- | --------------------------------- | +| brightness | number | 是 | 屏幕亮度值,值为0-1之间。1表示最亮。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let brightness = 1; +try { + let promise = windowClass.setWindowBrightness(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)); + }); +} catch (exception) { + console.error('Failed to set the brightness. Cause: ' + JSON.stringify(exception)); +}; +``` + ### setDimBehind(deprecated) setDimBehind(dimBehindValue: number, callback: AsyncCallback<void>): void @@ -2730,12 +4039,15 @@ promise.then((data)=> { }); ``` -### setFocusable7+ +### setFocusable(deprecated) setFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void 设置点击时是否支持切换焦点窗口,使用callback异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2758,12 +4070,15 @@ windowClass.setFocusable(isFocusable, (err, data) => { }); ``` -### setFocusable7+ +### setFocusable(deprecated) setFocusable(isFocusable: boolean): Promise<void> 设置点击时是否支持切换焦点窗口,使用Promise异步回调。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowFocusable()](#setwindowfocusable9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2790,12 +4105,83 @@ promise.then((data)=> { }); ``` -### setKeepScreenOn +### setWindowFocusable9+ + +setWindowFocusable(isFocusable: boolean, callback: AsyncCallback<void>): void + +设置点击时是否支持切换焦点窗口,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------------------------- | -- | -------------------------- | +| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let isFocusable= true; +try { + windowClass.setWindowFocusable(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)); + }); +} catch (exception) { + console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception)); +}; +``` + +### setWindowFocusable9+ + +setWindowFocusable(isFocusable: boolean): Promise<void> + +设置点击时是否支持切换焦点窗口,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------- | -- | -------------------------- | +| isFocusable | boolean | 是 | 点击时是否支持切换焦点窗口。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let isFocusable= true; +try { + let promise = windowClass.setWindowFocusable(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)); + }); +} catch (exception) { + console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(exception)); +}; +``` + +### setKeepScreenOn(deprecated) setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void 设置屏幕是否为常亮状态,使用callback异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2818,12 +4204,15 @@ windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) => { }); ``` -### setKeepScreenOn +### setKeepScreenOn(deprecated) setKeepScreenOn(isKeepScreenOn: boolean): Promise<void> 设置屏幕是否为常亮状态,使用Promise异步回调。 +> **说明:** +> 从 API version 6开始支持,从API version 9开始废弃,推荐使用[setWindowKeepScreenOn()](#setwindowkeepscreenon9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2850,6 +4239,101 @@ promise.then((data) => { }); ``` +### setWindowKeepScreenOn9+ + +setWindowKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback<void>): void + +设置屏幕是否为常亮状态,使用callback异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------------- | ------------------------- | -- | ---------------------- | +| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + +```js +let isKeepScreenOn = true; +try { + windowClass.setWindowKeepScreenOn(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)); + }); +} catch (exception) { + console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setWindowKeepScreenOn9+ + +setWindowKeepScreenOn(isKeepScreenOn: boolean): Promise<void> + +设置屏幕是否为常亮状态,使用Promise异步回调。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| -------------- | ------- | -- | ---------------------- | +| isKeepScreenOn | boolean | 是 | 设置屏幕是否为常亮状态。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | + +**示例:** + +```js +let isKeepScreenOn = true; +try { + let promise = windowClass.setWindowKeepScreenOn(isKeepScreenOn); + promise.then((data) => { + console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.info('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setWakeUpScreen()9+ + +setWakeUpScreen(wakeUp: boolean): void; + +窗口唤醒屏幕。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ---------------- | ------- | ---- | ---------------------------- | +| wakeUp | boolean | 是 | 是否设置唤醒屏幕。 | + +**示例:** + +```js +let wakeUp = true; +try { + windowClass.setWakeUpScreen(wakeUp); +} catch (exception) { + console.error('Failed to wake up the screen. Cause: ' + JSON.stringify(exception)); +}; +``` + ### setOutsideTouchable(deprecated) setOutsideTouchable(touchable: boolean, callback: AsyncCallback<void>): void @@ -2916,12 +4400,15 @@ promise.then((data)=> { }); ``` -### setPrivacyMode7+ +### setPrivacyMode(deprecated) setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void 设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2945,12 +4432,15 @@ windowClass.setPrivacyMode(isPrivacyMode, (err, data) => { }); ``` -### setPrivacyMode7+ +### setPrivacyMode(deprecated) setPrivacyMode(isPrivacyMode: boolean): Promise<void> 设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowPrivacyMode()](#setwindowprivacymode9-1)。 + **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** @@ -2977,93 +4467,106 @@ promise.then((data)=> { }); ``` -### setSnapshotSkip9+ -setSnapshotSkip(isSkip: boolean): void +### setWindowPrivacyMode9+ -截屏录屏是否忽略当前窗口。 +setWindowPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback<void>): void -**系统接口:** 此接口为系统接口。 +设置窗口是否为隐私模式,使用callback异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------------- | ------- | ---- | -------------------- | -| isSkip | boolean | 是 | 截屏录屏是否忽略当前窗口,默认为false。
true表示忽略当前窗口,false表示不忽略当前窗口。
| +| 参数名 | 类型 | 必填 | 说明 | +| ------------- | ------------------------- | -- | ------------------ | +| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | + +**示例:** + ```js -let isSkip = true; -windowClass.setSnapshotSkip(isSkip); +let isPrivacyMode = true; +try { + windowClass.setWindowPrivacyMode(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)); + }); +} catch (exception) { + console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception)); +}; ``` -### setTouchable7+ +### setWindowPrivacyMode9+ -setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void +setWindowPrivacyMode(isPrivacyMode: boolean): Promise<void> -设置窗口是否为可触状态,使用callback异步回调。 +设置窗口是否为隐私模式,使用Promise异步回调。设置为隐私模式的窗口,窗口内容将无法被截屏或录屏。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------------------------- | ---- | -------------------- | -| isTouchable | boolean | 是 | 窗口是否为可触状态。 | -| callback | AsyncCallback<void> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| ------------- | ------- | -- | ------------------ | +| isPrivacyMode | boolean | 是 | 窗口是否为隐私模式。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------ | +| Promise<void> | 无返回结果的Promise对象。 | **示例:** ```js -let 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)); - -}); +let isPrivacyMode = true; +try { + let promise = windowClass.setWindowPrivacyMode(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)); + }); +} catch (exception) { + console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(exception)); +}; ``` -### setTouchable7+ +### setSnapshotSkip9+ +setSnapshotSkip(isSkip: boolean): void -setTouchable(isTouchable: boolean): Promise<void> +截屏录屏是否忽略当前窗口。 -设置窗口是否为可触状态,使用Promise异步回调。 +**系统接口:** 此接口为系统接口。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------- | ---- | -------------------- | -| isTouchable | boolean | 是 | 窗口是否为可触状态。 | - -**返回值:** - -| 类型 | 说明 | -| ------------------- | ------------------------- | -| Promise<void> | 无返回结果的Promise对象。 | - -**示例:** +| 参数名 | 类型 | 必填 | 说明 | +| ------------- | ------- | ---- | -------------------- | +| isSkip | boolean | 是 | 截屏录屏是否忽略当前窗口,默认为false。
true表示忽略当前窗口,false表示不忽略当前窗口。
| ```js -let 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)); -}); +let isSkip = true; +try { + windowClass.setSnapshotSkip(isSkip); +} catch (exception) { + console.error('Failed to Skip. Cause: ' + JSON.stringify(exception)); +}; ``` -### setForbidSplitMove9+ +### setTouchable(deprecated) -setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback<void>): void +setTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void -设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。 +设置窗口是否为可触状态,使用callback异步回调。 -**系统接口:** 此接口为系统接口。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9)。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -3071,30 +4574,31 @@ setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback<void&g | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------------------------- | ---- | -------------------- | -| isForbidSplitMove | boolean | 是 | 窗口在分屏模式下是否被禁止移动。 | +| isTouchable | boolean | 是 | 窗口是否为可触状态。 | | callback | AsyncCallback<void> | 是 | 回调函数。 | **示例:** ```js -let isForbidSplitMove = true; -windowClass.setForbidSplitMove(isForbidSplitMove, (err, data) => { +let isTouchable = true; +windowClass.setTouchable(isTouchable, (err, data) => { if (err.code) { - console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err)); + console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err)); return; } - console.info('Succeeded in forbidding window moving in split screen mode. Data:' + JSON.stringify(data)); + console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data)); }); ``` -### setForbidSplitMove9+ +### setTouchable(deprecated) -setForbidSplitMove(isForbidSplitMove: boolean): Promise<void> +setTouchable(isTouchable: boolean): Promise<void> -设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。 +设置窗口是否为可触状态,使用Promise异步回调。 -**系统接口:** 此接口为系统接口。 +> **说明:** +> 从 API version 7开始支持,从API version 9开始废弃,推荐使用[setWindowTouchable()](#setwindowtouchable9-1)。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core @@ -3102,7 +4606,7 @@ setForbidSplitMove(isForbidSplitMove: boolean): Promise<void> | 参数名 | 类型 | 必填 | 说明 | | ----------- | ------- | ---- | -------------------- | -| isForbidSplitMove | boolean | 是 | 窗口在分屏模式下是否被禁止移动。 | +| isTouchable | boolean | 是 | 窗口是否为可触状态。 | **返回值:** @@ -3113,95 +4617,88 @@ setForbidSplitMove(isForbidSplitMove: boolean): Promise<void> **示例:** ```js -let isForbidSplitMove = true; -let promise = windowClass.setForbidSplitMove(isForbidSplitMove); +let isTouchable = true; +let promise = windowClass.setTouchable(isTouchable); promise.then((data)=> { - console.info('Succeeded in forbidding window moving in split screen mode. Data: ' + JSON.stringify(data)); + console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data)); }).catch((err)=>{ - console.error('Failed to forbid window moving in split screen mode. Cause: ' + JSON.stringify(err)); + console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err)); }); ``` -### snapshot9+ +### setWindowTouchable9+ -snapshot(callback: AsyncCallback<image.PixelMap>): void +setWindowTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void -获取窗口截图,使用callback异步回调。 +设置窗口是否为可触状态,使用callback异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------------------------- | ---- | -------------------- | -| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | 回调函数。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------------------------- | -- | ------------------ | +| isTouchable | boolean | 是 | 窗口是否为可触状态。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | **示例:** ```js -windowClass.snapshot((err, data) => { - if (err.code) { - console.error('Failed to snapshot window. Cause:' + JSON.stringify(err)); - return; - } - console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber()); - data.release(); // PixelMap使用完后及时释放内存 -}); +let isTouchable = true; +try { + windowClass.setWindowTouchable(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)); + }); +} catch (exception) { + console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception)); +}; ``` -### snapshot9+ +### setWindowTouchable9+ -snapshot(): Promise<image.PixelMap> +setWindowTouchable(isTouchable: boolean): Promise<void> -获取窗口截图,使用Promise异步回调。 +设置窗口是否为可触状态,使用Promise异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core -**返回值:** - -| 类型 | 说明 | -| ------------------- | ------------------------- | -| Promise<[image.PixelMap](js-apis-image.md#pixelmap7)> | Promise对象。返回当前窗口截图。 | - -**示例:** - -```js -let promise = windowClass.snapshot(); -promise.then((pixelMap)=> { - console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber()); - pixelMap.release(); // PixelMap使用完后及时释放内存 -}).catch((err)=>{ - console.error('Failed to snapshot window. Cause:' + JSON.stringify(err)); -}); -``` - -### setBlur9+ - -setBlur(radius: number): void - -设置窗口模糊。 - -**系统接口:** 此接口为系统接口。 +**参数:** -**系统能力:** SystemCapability.WindowManager.WindowManager.Core +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------- | -- | ------------------- | +| isTouchable | boolean | 是 | 窗口是否为可触状态。 | -**参数:** +**返回值:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | ------------------------------------------------------------ | -| radius | number | 是 | 表示窗口模糊的半径值,取值范围为大于等于0,0表示关闭窗口模糊。 | +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<void> | 无返回结果的Promise对象。 | **示例:** ```js -windowClass.setBlur(4.0); +let isTouchable = true; +try { + let promise = windowClass.setWindowTouchable(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)); + }); +} catch (exception) { + console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(exception)); +}; ``` -### setBackdropBlur9+ +### setForbidSplitMove9+ -setBackdropBlur(radius: number): void +setForbidSplitMove(isForbidSplitMove: boolean, callback: AsyncCallback<void>): void -设置窗口背景模糊。 +设置窗口在分屏模式下是否被禁止移动,使用callback异步回调。 **系统接口:** 此接口为系统接口。 @@ -3209,21 +4706,33 @@ setBackdropBlur(radius: number): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------ | ------ | ---- | ------------------------------------------------------------ | -| radius | number | 是 | 表示窗口背景模糊的半径值,取值范围为大于等于0,0表示关闭窗口背景模糊。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------------------------- | ---- | -------------------- | +| isForbidSplitMove | boolean | 是 | 窗口在分屏模式下是否被禁止移动。 | +| callback | AsyncCallback<void> | 是 | 回调函数。 | **示例:** ```js -windowClass.setBackdropBlur(4.0); +let isForbidSplitMove = true; +try { + windowClass.setForbidSplitMove(isForbidSplitMove, (err, data) => { + if (err.code) { + console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in forbidding window moving in split screen mode. Data:' + JSON.stringify(data)); + }); +} catch (exception) { + console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception)); +}; ``` -### setBackdropBlurStyle9+ +### setForbidSplitMove9+ -setBackdropBlurStyle(blurStyle: BlurStyle): void +setForbidSplitMove(isForbidSplitMove: boolean): Promise<void> -设置窗口背景模糊类型。 +设置窗口在分屏模式下是否被禁止移动,使用Promise异步回调。 **系统接口:** 此接口为系统接口。 @@ -3231,61 +4740,83 @@ setBackdropBlurStyle(blurStyle: BlurStyle): void **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| --------- | --------- | ---- | ---------------------- | -| blurStyle | [BlurStyle](#blurstyle9) | 是 | 表示窗口背景模糊类型。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------- | ---- | -------------------- | +| isForbidSplitMove | boolean | 是 | 窗口在分屏模式下是否被禁止移动。 | + +**返回值:** + +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<void> | 无返回结果的Promise对象。 | **示例:** ```js -windowClass.setBackdropBlurStyle(window.BlurType.THIN); +let isForbidSplitMove = true; +try { + let promise = windowClass.setForbidSplitMove(isForbidSplitMove); + promise.then((data)=> { + console.info('Succeeded in forbidding window moving in split screen mode. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to forbid window moving in split screen mode. Cause: ' + JSON.stringify(err)); + }); +} catch (exception) { + console.error('Failed to forbid window moving in split screen mode. Cause:' + JSON.stringify(exception)); +}; ``` -### setShadow9+ - -setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void +### snapshot9+ -设置窗口边缘阴影。 +snapshot(callback: AsyncCallback<image.PixelMap>): void -**系统接口:** 此接口为系统接口。 +获取窗口截图,使用callback异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core **参数:** -| 参数名 | 类型 | 必填 | 说明 | -| ------- | ------ | ---- | ------------------------------------------------------------ | -| radius | number | 是 | 表示窗口边缘阴影的模糊半径,取值范围为大于等于0,0表示关闭窗口边缘阴影。 | -| color | string | 否 | 表示窗口边缘阴影的颜色,为十六进制颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | -| offsetX | number | 否 | 表示窗口边缘阴影的X轴的偏移量,单位为px。 | -| offsetY | number | 否 | 表示窗口边缘阴影的Y轴的偏移量,单位为px。 | +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------------------------- | ---- | -------------------- | +| callback | AsyncCallback<[image.PixelMap](js-apis-image.md#pixelmap7)> | 是 | 回调函数。 | **示例:** ```js -windowClass.setShadow(4.0, '#FF00FF00', 2, 3); +windowClass.snapshot((err, data) => { + if (err.code) { + console.error('Failed to snapshot window. Cause:' + JSON.stringify(err)); + return; + } + console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber()); + data.release(); // PixelMap使用完后及时释放内存 +}); ``` -### setCornerRadius9+ - -setCornerRadius(cornerRadius: number): void +### snapshot9+ -设置窗口圆角半径。 +snapshot(): Promise<image.PixelMap> -**系统接口:** 此接口为系统接口。 +获取窗口截图,使用Promise异步回调。 **系统能力:** SystemCapability.WindowManager.WindowManager.Core -**参数:** +**返回值:** -| 参数名 | 类型 | 必填 | 说明 | -| ----------- | ------- | ---- | -------------------- | -| radius | number | 是 | 表示窗口圆角的半径值,取值范围为大于等于0,0表示没有窗口圆角。 | +| 类型 | 说明 | +| ------------------- | ------------------------- | +| Promise<[image.PixelMap](js-apis-image.md#pixelmap7)> | Promise对象。返回当前窗口截图。 | **示例:** ```js -windowClass.setCornerRadius(4.0); +let promise = windowClass.snapshot(); +promise.then((pixelMap)=> { + console.info('Succeeded in snapshotting window. Pixel bytes number: ' + pixelMap.getPixelBytesNumber()); + pixelMap.release(); // PixelMap使用完后及时释放内存 +}).catch((err)=>{ + console.error('Failed to snapshot window. Cause:' + JSON.stringify(err)); +}); ``` ### opacity9+ @@ -3307,7 +4838,11 @@ opacity(opacity: number): void **示例:** ```js -windowClass.opacity(0.5); +try { + windowClass.opacity(0.5); +} catch (exception) { + console.error('Failed to opacity. Cause: ' + JSON.stringify(exception)); +}; ``` ### scale9+ @@ -3335,7 +4870,11 @@ let obj : window.ScaleOptions = { pivotX = 0.5; pivotY = 0.5; } -windowClass.scale(obj); +try { + windowClass.scale(obj); +} catch (exception) { + console.error('Failed to scale. Cause: ' + JSON.stringify(exception)); +}; ``` ### rotate9+ @@ -3364,7 +4903,11 @@ let obj : window.RotateOptions = { pivotX = 0.5; pivotY = 0.5; } -windowClass.rotate(obj); +try { + windowClass.rotate(obj); +} catch (exception) { + console.error('Failed to rotate. Cause: ' + JSON.stringify(exception)); +}; ``` ### translate9+ @@ -3391,7 +4934,11 @@ let obj : window.TranslateOptions = { y : 0.0, z : 0.0 } -windowClass.translate(obj); +try { + windowClass.translate(obj); +} catch (exception) { + console.error('Failed to translate. Cause: ' + JSON.stringify(exception)); +}; ``` ### getTransitionController9+ @@ -3447,6 +4994,139 @@ windowClass.hideWithAnimation((err, data) => { }) ``` +### setBlur9+ + +setBlur(radius: number): void + +设置窗口模糊。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------------------------------------------------ | +| radius | number | 是 | 表示窗口模糊的半径值,取值范围为大于等于0,0表示关闭窗口模糊。 | + +**示例:** + +```js +try { + windowClass.setBlur(4.0); +} catch (exception) { + console.error('Failed to set blur. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setBackdropBlur9+ + +setBackdropBlur(radius: number): void + +设置窗口背景模糊。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------ | ------ | ---- | ------------------------------------------------------------ | +| radius | number | 是 | 表示窗口背景模糊的半径值,取值范围为大于等于0,0表示关闭窗口背景模糊。 | + +**示例:** + +```js +try { + windowClass.setBackdropBlur(4.0); +} catch (exception) { + console.error('Failed to set backdrop blur. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setBackdropBlurStyle9+ + +setBackdropBlurStyle(blurStyle: BlurStyle): void + +设置窗口背景模糊类型。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| --------- | --------- | ---- | ---------------------- | +| blurStyle | [BlurStyle](#blurstyle9) | 是 | 表示窗口背景模糊类型。 | + +**示例:** + +```js +try { + windowClass.setBackdropBlurStyle(window.BlurType.THIN); +} catch (exception) { + console.error('Failed to set backdrop blur style. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setShadow9+ + +setShadow(radius: number, color?: string, offsetX?: number, offsetY?: number): void + +设置窗口边缘阴影。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ------- | ------ | ---- | ------------------------------------------------------------ | +| radius | number | 是 | 表示窗口边缘阴影的模糊半径,取值范围为大于等于0,0表示关闭窗口边缘阴影。 | +| color | string | 否 | 表示窗口边缘阴影的颜色,为十六进制颜色,不区分大小写,例如`#00FF00`或`#FF00FF00`。 | +| offsetX | number | 否 | 表示窗口边缘阴影的X轴的偏移量,单位为px。 | +| offsetY | number | 否 | 表示窗口边缘阴影的Y轴的偏移量,单位为px。 | + +**示例:** + +```js +try { + windowClass.setShadow(4.0, '#FF00FF00', 2, 3); +} catch (exception) { + console.error('Failed to set shadow. Cause: ' + JSON.stringify(exception)); +}; +``` + +### setCornerRadius9+ + +setCornerRadius(cornerRadius: number): void + +设置窗口圆角半径。 + +**系统接口:** 此接口为系统接口。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**参数:** + +| 参数名 | 类型 | 必填 | 说明 | +| ----------- | ------- | ---- | -------------------- | +| radius | number | 是 | 表示窗口圆角的半径值,取值范围为大于等于0,0表示没有窗口圆角。 | + +**示例:** + +```js +try { + windowClass.setCornerRadius(4.0); +} catch (exception) { + console.error('Failed to set corner radius. Cause: ' + JSON.stringify(exception)); +}; +``` + ## WindowStageEventType9+ WindowStage生命周期。 @@ -3503,6 +5183,7 @@ class myAbility extends Ability { } } ``` + ### getMainWindow9+ getMainWindow(): Promise<Window> @@ -3537,6 +5218,39 @@ class myAbility extends Ability { } } ``` + +### getMainWindowSync9+ + +getMainWindow(): Window; + +获取该WindowStage实例下的主窗口。 + +**模型约束:** 此接口仅可在Stage模型下使用。 + +**系统能力:** SystemCapability.WindowManager.WindowManager.Core + +**返回值:** + +| 类型 | 说明 | +| ----------------- | --------------------------------- | +| [Window](#window) | 返回当前WindowStage下的主窗口对象。 | + +**示例:** + +```ts +import Ability from '@ohos.application.Ability'; +class myAbility extends Ability { + onWindowStageCreate(windowStage) { + console.log('onWindowStageCreate'); + try { + let windowClass = windowStage.getMainWindowSync(); + } catch (exception) { + console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(exception)); + }; + } +} +``` + ### createSubWindow9+ createSubWindow(name: string, callback: AsyncCallback<Window>): void @@ -3562,15 +5276,19 @@ class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); let windowClass = null; - windowStage.createSubWindow('mySubWindow', (err, data) => { - if (err.code) { - console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err)); - return; - } - windowClass = data; - console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); - windowClass.resetSize(500, 1000); - }); + try { + windowStage.createSubWindow('mySubWindow', (err, data) => { + if (err.code) { + console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err)); + return; + } + windowClass = data; + console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); + windowClass.resetSize(500, 1000); + }); + } catch (exception) { + console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception)); + }; } } ``` @@ -3604,16 +5322,21 @@ class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); let windowClass = null; - let promise = windowStage.createSubWindow('mySubWindow'); - promise.then((data)=> { - windowClass = data; - console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); - }).catch((err)=>{ - console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err)); - }) + try { + let promise = windowStage.createSubWindow('mySubWindow'); + promise.then((data)=> { + windowClass = data; + console.info('Succeeded in creating the subwindow. Data: ' + JSON.stringify(data)); + }).catch((err)=>{ + console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(err)); + }); + } catch (exception) { + console.error('Failed to create the subwindow. Cause: ' + JSON.stringify(exception)); + }; } } ``` + ### getSubWindow9+ getSubWindow(callback: AsyncCallback<Array<Window>>): void @@ -3711,13 +5434,17 @@ class myAbility extends Ability { this.storage = new LocalStorage(); this.storage.setOrCreate('storageSimpleProp',121); console.log('onWindowStageCreate'); - windowStage.loadContent('pages/page2',this.storage,(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)); - }); + try { + windowStage.loadContent('pages/page2',this.storage,(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)); + }); + } catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); + }; } } ``` @@ -3756,13 +5483,17 @@ class myAbility extends Ability { this.storage.setOrCreate('storageSimpleProp',121); console.log('onWindowStageCreate'); let windowClass = null; - let promise = windowStage.loadContent('pages/page2',this.storage); - promise.then((data)=> { - windowClass = 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)); - }) + try { + let promise = windowStage.loadContent('pages/page2',this.storage); + promise.then((data)=> { + windowClass = 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)); + }); + } catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); + }; } } ``` @@ -3791,13 +5522,17 @@ import Ability from '@ohos.application.Ability'; 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)); - }); + try { + 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)); + }); + } catch (exception) { + console.error('Failed to load the content. Cause:' + JSON.stringify(exception)); + }; } } ``` @@ -3826,9 +5561,15 @@ import Ability from '@ohos.application.Ability'; class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); - windowStage.on('windowStageEvent', (data) => { - console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + JSON.stringify(data)); - }); + try { + windowStage.on('windowStageEvent', (data) => { + console.info('Succeeded in enabling the listener for window stage event changes. Data: ' + + JSON.stringify(data)); + }); + } catch (exception) { + console.error('Failed to enable the listener for window stage event changes. Cause:' + + JSON.stringify(exception)); + }; } } ``` @@ -3857,7 +5598,12 @@ import Ability from '@ohos.application.Ability'; class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); - windowStage.off('windowStageEvent'); + try { + windowStage.off('windowStageEvent'); + } catch (exception) { + console.error('Failed to disable the listener for window stage event changes. Cause:' + + JSON.stringify(exception)); + }; } } ``` @@ -3911,7 +5657,11 @@ import Ability from '@ohos.application.Ability'; class myAbility extends Ability { onWindowStageCreate(windowStage) { console.log('onWindowStageCreate'); - windowStage.setShowOnLockScreen(true); + try { + windowStage.setShowOnLockScreen(true); + } catch (exception) { + console.error('Failed to show on lockscreen. Cause:' + JSON.stringify(exception)); + }; } } ``` @@ -3968,9 +5718,13 @@ controller.animationForShown = (context : window.TransitionContext) => { console.info('toWindow translate end'); } ) - context.completeTransition(true) + try { + context.completeTransition(true) + } catch (exception) { + console.info('toWindow translate fail. Cause: ' + JSON.stringify(exception)); + } console.info('complete transition end'); -} +}; ``` ## TransitionController9+