窗口
窗口提供管理窗口的一些基礎(chǔ)能力,包括對(duì)當(dāng)前窗口的創(chuàng)建、銷毀、各屬性設(shè)置,以及對(duì)各窗口間的管理調(diào)度。
該模塊提供以下窗口相關(guān)的常用功能:
- [Window]:當(dāng)前窗口實(shí)例,窗口管理器管理的基本單元。
- [WindowStage]:窗口管理器。管理各個(gè)基本窗口單元。
說明:
開發(fā)前請(qǐng)熟悉鴻蒙開發(fā)指導(dǎo)文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標(biāo)單獨(dú)標(biāo)記接口的起始版本。
導(dǎo)入模塊
import window from '@ohos.window';
WindowType7+
窗口類型枚舉。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| TYPE_APP | 0 | 表示應(yīng)用子窗口。此接口僅可在FA模型下使用。 |
| TYPE_SYSTEM_ALERT | 1 | 表示系統(tǒng)告警窗口。此接口僅可在Stage模型下使用。 |
AvoidAreaType7+
窗口內(nèi)容需要規(guī)避區(qū)域的類型枚舉。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| TYPE_SYSTEM | 0 | 表示系統(tǒng)默認(rèn)區(qū)域。 |
| TYPE_CUTOUT | 1 | 表示劉海屏區(qū)域。 |
WindowMode7+
窗口模式枚舉。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| UNDEFINED | 1 | 表示APP未定義窗口模式。 |
| FULLSCREEN | 2 | 表示APP全屏模式。 |
| PRIMARY | 3 | 表示APP分屏多窗口主要模式。 |
| SECONDARY | 4 | 表示APP分屏多窗口次要模式。 |
| FLOATING | 5 | 表示APP自由懸浮形式窗口模式。 |
WindowLayoutMode9+
窗口布局模式枚舉。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| WINDOW_LAYOUT_MODE_CASCADE | 0 | 表示使用層疊布局模式。 |
| WINDOW_LAYOUT_MODE_TILE | 1 | 表示使用平鋪布局模式。 |
SystemBarProperties
狀態(tài)欄、導(dǎo)航欄的屬性。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| statusBarColor | string | 是 | 是 | 狀態(tài)欄背景顏色,為十六進(jìn)制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| isStatusBarLightIcon7+ | boolean | 否 | 是 | 狀態(tài)欄圖標(biāo)是否為高亮狀態(tài)。 |
| statusBarContentColor8+ | string | 否 | 是 | 狀態(tài)欄文字顏色。 |
| navigationBarColor | string | 是 | 是 | 導(dǎo)航欄背景顏色,為十六進(jìn)制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| isNavigationBarLightIcon7+ | boolean | 否 | 否 | 導(dǎo)航欄圖標(biāo)是否為高亮狀態(tài)。 |
| navigationBarContentColor8+ | string | 否 | 是 | 導(dǎo)航欄文字顏色。 |
SystemBarRegionTint8+
單個(gè)導(dǎo)航欄或狀態(tài)欄回調(diào)信息。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| type | [WindowType] | 是 | 是 | 當(dāng)前屬性改變的系統(tǒng)欄類型,僅支持類型為導(dǎo)航欄、狀態(tài)欄的系統(tǒng)欄。 |
| isEnable | boolean | 是 | 是 | 當(dāng)前系統(tǒng)欄是否顯示。 |
| region | [Rect] | 是 | 是 | 當(dāng)前系統(tǒng)欄的位置及大小。 |
| backgroundColor | string | 是 | 是 | 系統(tǒng)欄背景顏色,為十六進(jìn)制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| contentColor | string | 是 | 是 | 系統(tǒng)欄文字顏色。 |
SystemBarTintState8+
當(dāng)前系統(tǒng)欄回調(diào)信息集合。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| displayId | number | 是 | 否 | 當(dāng)前物理屏幕id。 |
| regionTint | Array<[SystemBarRegionTint]> | 是 | 是 | 當(dāng)前已改變的所有系統(tǒng)欄信息。 |
Rect7+
窗口矩形區(qū)域。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| left | number | 是 | 是 | 矩形區(qū)域的左邊界。 |
| top | number | 是 | 是 | 矩形區(qū)域的上邊界。 |
| width | number | 是 | 是 | 矩形區(qū)域的寬度。 |
| height | number | 是 | 是 | 矩形區(qū)域的高度。 |
AvoidArea7+
窗口內(nèi)容規(guī)避區(qū)域。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| leftRect | [Rect] | 是 | 是 | 屏幕左側(cè)的矩形區(qū)。 |
| topRect | [Rect] | 是 | 是 | 屏幕頂部的矩形區(qū)。 |
| rightRect | [Rect] | 是 | 是 | 屏幕右側(cè)的矩形區(qū)。 |
| bottomRect | [Rect] | 是 | 是 | 屏幕底部的矩形區(qū)。 |
Size7+
窗口大小。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| width | number | 是 | 是 | 窗口寬度。 |
| height | number | 是 | 是 | 窗口高度。 |
WindowProperties
窗口屬性。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數(shù)類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| windowRect7+ | [Rect] | 是 | 是 | 窗口尺寸。 |
| type7+ | [WindowType] | 是 | 是 | 窗口類型。 |
| isFullScreen | boolean | 是 | 是 | 是否全屏,默認(rèn)為false。 |
| isLayoutFullScreen7+ | boolean | 是 | 是 | 窗口是否為沉浸式,默認(rèn)為false。 |
| focusable7+ | boolean | 是 | 否 | 窗口是否可聚焦,默認(rèn)為true。 |
| touchable7+ | boolean | 是 | 否 | 窗口是否可觸摸,默認(rèn)為true。 |
| ightness | number | 是 | 是 | 屏幕亮度, 取值范圍為0~1,1表示最大亮度值。 |
| dimBehindValue(deprecated) | number | 是 | 是 | 靠后窗口的暗度值,取值范圍為0~1,1表示最暗。 -**說明:**從API version 9開始廢棄。 - 從 API version 7開始支持 |
| isKeepScreenOn | boolean | 是 | 是 | 屏幕是否常亮,默認(rèn)為false。 |
| isPrivacyMode7+ | boolean | 是 | 是 | 隱私模式,默認(rèn)為false。 |
| isRoundCorner7+ | boolean | 是 | 是 | 窗口是否為圓角。默認(rèn)為false。 |
| isTransparent7+ | boolean | 是 | 是 | 窗口是否透明。默認(rèn)為false。 |
ColorSpace8+
色域模式。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 默認(rèn)值 | 說明 |
|---|---|---|
| DEFAULT | 0 | 默認(rèn)色域模式。 |
| WIDE_GAMUT | 1 | 廣色域模式。 |
window.create7+
create(id: string, type: WindowType, callback: AsyncCallback): void
創(chuàng)建子窗口,使用callback異步回調(diào)。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前創(chuàng)建的子窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.create("first", window.WindowType.TYPE_APP);
promise.then((data)= > {
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
});
window.create7+
create(id: string, type: WindowType): Promise
創(chuàng)建子窗口,使用Promise異步回調(diào)。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前創(chuàng)建的子窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.create("first", window.WindowType.TYPE_APP);
promise.then((data)= > {
windowClass = data;
console.info('SubWindow created. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to create the subWindow. Cause: ' + JSON.stringify(err));
});
window.create8+
create(ctx: Context, id: string, type: WindowType, callback: AsyncCallback): void
創(chuàng)建子窗口,使用callback異步回調(diào),其中Context詳見[Context]。
從API version 9開始,當(dāng)Context為[ServiceExtensionContext]時(shí),創(chuàng)建系統(tǒng)窗口,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當(dāng)前應(yīng)用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前創(chuàng)建的子窗口對(duì)象。 |
示例:
var windowClass = null;
window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT, (err, data) = > {
if (err.code) {
console.error('Failed to create the Window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Window created. Data: ' + JSON.stringify(data));
windowClass.resetSize(500, 1000);
});
window.create8+
create(ctx: Context, id: string, type: WindowType): Promise
創(chuàng)建子窗口,使用Promise異步回調(diào),其中Context詳見[Context]
從API version 9開始,當(dāng)Context為[ServiceExtensionContext]時(shí),創(chuàng)建系統(tǒng)窗口,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當(dāng)前應(yīng)用上下文信息。 API version 8的Context定義見[Context] API version 9的Context定義見[Context]。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前創(chuàng)建的子窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.create(this.context, "alertWindow", window.WindowType.TYPE_SYSTEM_ALERT);
promise.then((data)= > {
windowClass = data;
console.info('Window created. Data:' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to create the Window. Cause:' + JSON.stringify(err));
});
window.find7+
find(id: string, callback: AsyncCallback): void
查找id所對(duì)應(yīng)的窗口,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前查找到的窗口對(duì)象。 |
示例:
var windowClass = null;
window.find("alertWindow", (err, data) = > {
if (err.code) {
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data));
});
window.find7+
find(id: string): Promise
查找id所對(duì)應(yīng)的窗口,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前查找的窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.find("alertWindow");
promise.then((data)= > {
windowClass = data;
console.info('window found. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to find the Window. Cause: ' + JSON.stringify(err));
});
window.getTopWindow
getTopWindow(callback: AsyncCallback): void
獲取當(dāng)前應(yīng)用內(nèi)最后顯示的窗口,使用callback異步回調(diào)。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前應(yīng)用內(nèi)最后顯示的窗口對(duì)象。 |
示例:
var windowClass = null;
window.getTopWindow((err, data) = > {
if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
window.getTopWindow
getTopWindow(): Promise
獲取當(dāng)前應(yīng)用內(nèi)最后顯示的窗口,使用Promise異步回調(diào)。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前應(yīng)用內(nèi)最后顯示的窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.getTopWindow();
promise.then((data)= > {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
window.getTopWindow8+
getTopWindow(ctx: Context, callback: AsyncCallback): void
獲取當(dāng)前應(yīng)用內(nèi)最后顯示的窗口,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當(dāng)前應(yīng)用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前應(yīng)用內(nèi)最后顯示的窗口對(duì)象。 |
示例:
var windowClass = null;
window.getTopWindow(this.context, (err, data) = > {
if (err.code) {
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
});
window.getTopWindow8+
getTopWindow(ctx: Context): Promise
獲取當(dāng)前應(yīng)用內(nèi)最后顯示的窗口,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當(dāng)前應(yīng)用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前應(yīng)用內(nèi)最后顯示的窗口對(duì)象。 |
示例:
var windowClass = null;
let promise = window.getTopWindow(this.context);
promise.then((data)= > {
windowClass = data;
console.info('Succeeded in obtaining the top window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the top window. Cause: ' + JSON.stringify(err));
})
window.minimizeAll9+
minimizeAll(id: number, callback: AsyncCallback): void
最小化某顯示設(shè)備下的所有窗口。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | number | 是 | 顯示設(shè)備[Display]的ID號(hào) |
| callback | AsyncCallback | 是 | 回調(diào)信息。 |
示例:
import display from '@ohos.display'
import window from '@ohos.window'
var displayClass = null;
display.getDefaultDisplay((err, data) = > {
if(err.code) {
return;
}
displayClass = data;
window.minimizeAll(displayClass.id, (err, data) = > {
if(err.code) {
console.error('Failed to minimize all window. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in minimizing all window.');
});
});
window.minimizeAll9+
minimizeAll(id: number): Promise
最小化某顯示設(shè)備下的所有窗口。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | number | 是 | 顯示設(shè)備[Display]的ID號(hào) |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
import display from '@ohos.display'
import window from '@ohos.window'
var displayClass = null;
display.getDefaultDisplay((err, data) = > {
if(err.code) {
return;
}
displayClass = data;
let promise = window.minimizeAll(displayClass.id);
promise.then((data)= > {
console.info('Succeeded in minimizing all window.');
}).catch((err)= >{
console.error('Failed to minimize all window. Cause: ' + JSON.stringify(err));
})
});
window.toggleShownStateForAllAppWindows9+
toggleShownStateForAllAppWindows(callback: AsyncCallback): void
多窗口快速切換時(shí)隱藏或者恢復(fù)應(yīng)用窗口。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)信息。 |
示例:
window.toggleShownStateForAllAppWindows((err, data) = > {
if (err.code) {
console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in toggling shown state for all app windows.');
})
window.toggleShownStateForAllAppWindows9+
toggleShownStateForAllAppWindows(): Promise
多窗口快速切換時(shí)隱藏或者恢復(fù)應(yīng)用窗口。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = window.toggleShownStateForAllAppWindows();
promise.then((data)= > {
console.info('Succeeded in toggling shown state for all app windows. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to toggle shown state for all app windows. Cause: ' + JSON.stringify(err));
})
window.setWindowLayoutMode9+
setWindowLayoutMode(mode: WindowLayoutMode, callback: AsyncCallback): void
設(shè)置窗口布局模式。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| mode | [WindowLayoutMode] | 是 | 設(shè)置的窗口布局模式 |
| callback | AsyncCallback | 是 | 回調(diào)信息。 |
示例:
window.setWindowLayoutMode(window.WindowLayoutMode.WINDOW_LAYOUT_MODE_CASCADE, (data) = > {
console.info('Succeeded in setting window layout mode. Data: ' + JSON.stringify(data));
});
window.setWindowLayoutMode9+
setWindowLayoutMode(mode: WindowLayoutMode): Promise
設(shè)置窗口布局模式。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| mode | [WindowLayoutMode] | 是 | 設(shè)置的窗口布局模式 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
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));
})
on('systemBarTintChange')8+
on(type: 'systemBarTintChange', callback: Callback): void
開啟狀態(tài)欄、導(dǎo)航欄屬性變化的監(jiān)聽。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemBarTintChange',即導(dǎo)航欄、狀態(tài)欄屬性變化事件。 |
| callback | Callback<[SystemBarTintState]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前的狀態(tài)欄、導(dǎo)航欄信息集合。 |
示例:
window.on('systemBarTintChange', (data) = > {
console.info('Succeeded in enabling the listener for systemBarTint changes. Data: ' + JSON.stringify(data));
});
off('systemBarTintChange')8+
off(type: 'systemBarTintChange', callback?: Callback): void
關(guān)閉狀態(tài)欄、導(dǎo)航欄屬性變化的監(jiān)聽。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemBarTintChange',即導(dǎo)航欄、狀態(tài)欄屬性變化事件。 |
| callback | Callback<[SystemBarTintState]> | 否 | 回調(diào)函數(shù)。返回當(dāng)前的狀態(tài)欄、導(dǎo)航欄信息集合。 |
示例:
window.off('systemBarTintChange');
Window
當(dāng)前窗口實(shí)例,窗口管理器管理的基本單元。
下列API示例中都需先使用[getTopWindow()]、[create()]、[find()]中的任一方法獲取到Window實(shí)例,再通過此實(shí)例調(diào)用對(duì)應(yīng)方法。
hide7+
hide (callback: AsyncCallback): void
隱藏當(dāng)前窗口,使用callback異步回調(diào)。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.hide((err, data) = > {
if (err.code) {
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
return;
}
console.info('window hidden. data: ' + JSON.stringify(data));
})
hide7+
hide(): Promise
隱藏當(dāng)前窗口,使用Promise異步回調(diào)。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.hide();
promise.then((data)= > {
console.info('window hidden. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to hide the window. Cause: ' + JSON.stringify(err));
})
show7+
show(callback: AsyncCallback): void
顯示當(dāng)前窗口,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.show((err, data) = > {
if (err.code) {
console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data));
})
show7+
show(): Promise
顯示當(dāng)前窗口,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.show();
promise.then((data)= > {
console.info('Succeeded in showing the window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to show the window. Cause: ' + JSON.stringify(err));
})
destroy7+
destroy(callback: AsyncCallback): void
銷毀當(dāng)前窗口,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.destroy((err, data) = > {
if (err.code) {
console.error('Failed to destroy the window. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data));
})
destroy7+
destroy(): Promise
銷毀當(dāng)前窗口,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.destroy();
promise.then((data)= > {
console.info('Succeeded in destroying the window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to destroy the window. Cause: ' + JSON.stringify(err));
})
moveTo7+
moveTo(x: number, y: number, callback: AsyncCallback): void
移動(dòng)窗口位置,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| x | number | 是 | 窗口在x軸方向移動(dòng)的值,值為正表示右移,單位為px。 |
| y | number | 是 | 窗口在y軸方向移動(dòng)的值,值為正表示下移,單位為px。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.moveTo(300, 300, (err, data)= >{
if (err.code) {
console.error('Failed to move the window. Cause:' + JSON.stringify(err));
return;
}
console.info('Window moved. Data: ' + JSON.stringify(data));
});
moveTo7+
moveTo(x: number, y: number): Promise
移動(dòng)窗口位置,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| x | number | 是 | 窗口在x軸方向移動(dòng)的值,值為正表示右移,單位為px。 |
| y | number | 是 | 窗口在y軸方向移動(dòng)的值,值為正表示下移,單位為px。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.moveTo(300, 300);
promise.then((data)= > {
console.info('Window moved. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to move the window. Cause: ' + JSON.stringify(err));
})
resetSize7+
resetSize(width: number, height: number, callback: AsyncCallback): void
改變當(dāng)前窗口大小,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| width | number | 是 | 目標(biāo)窗口的寬度,單位為px。 |
| height | number | 是 | 目標(biāo)窗口的高度,單位為px。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.resetSize(500, 1000, (err, data) = > {
if (err.code) {
console.error('Failed to change the window size. Cause:' + JSON.stringify(err));
return;
}
console.info('Window size changed. Data: ' + JSON.stringify(data));
});
resetSize7+
resetSize(width: number, height: number): Promise
改變當(dāng)前窗口大小,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| width | number | 是 | 目標(biāo)窗口的寬度,單位為px。 |
| height | number | 是 | 目標(biāo)窗口的高度,單位為px。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.resetSize(500, 1000);
promise.then((data)= > {
console.info('Window size changed. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to change the window size. Cause: ' + JSON.stringify(err));
});
setWindowType7+
setWindowType(type: WindowType, callback: AsyncCallback): void
設(shè)置窗口類型,使用callback異步回調(diào)。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var type = window.WindowType.TYPE_APP;
windowClass.setWindowType(type, (err, data) = > {
if (err.code) {
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data));
});
setWindowType7+
setWindowType(type: WindowType): Promise
設(shè)置窗口類型,使用Promise異步回調(diào)。
此接口為系統(tǒng)接口,三方應(yīng)用不支持調(diào)用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var type = window.WindowType.TYPE_APP;
let promise = windowClass.setWindowType(type);
promise.then((data)= > {
console.info('Succeeded in setting the window type. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the window type. Cause: ' + JSON.stringify(err));
});
getProperties
getProperties(callback: AsyncCallback): void
獲取當(dāng)前窗口的屬性,使用callback異步回調(diào),返回WindowProperties。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[WindowProperties]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前窗口屬性。 |
示例:
windowClass.getProperties((err, data) = > {
if (err.code) {
console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
});
getProperties
getProperties(): Promise
獲取當(dāng)前窗口的屬性,使用Promise異步回調(diào),返回WindowProperties。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[WindowProperties]> | Promise對(duì)象。返回當(dāng)前窗口屬性。 |
示例:
let promise = windowClass.getProperties();
promise.then((data)= > {
console.info('Succeeded in obtaining the window properties. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the window properties. Cause: ' + JSON.stringify(err));
});
getAvoidArea7+
getAvoidArea(type: AvoidAreaType, callback: AsyncCallback): void
獲取窗口內(nèi)容規(guī)避的區(qū)域,如系統(tǒng)的系統(tǒng)欄區(qū)域、凹凸區(qū)域。使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [AvoidAreaType] | 是 | 表示規(guī)避區(qū)類型。type為TYPE_SYSTEM,表示系統(tǒng)默認(rèn)區(qū)域。type為TYPE_CUTOUT,表示劉海屏區(qū)域。 |
| callback | AsyncCallback<[AvoidArea]> | 是 | 回調(diào)函數(shù)。返回窗口內(nèi)容規(guī)避區(qū)域。 |
示例:
var type = window.AvoidAreaType.TYPE_SYSTEM;
windowClass.getAvoidArea(type, (err, data) = > {
if (err.code) {
console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
});
getAvoidArea7+
getAvoidArea(type: AvoidAreaType): Promise
獲取窗口內(nèi)容規(guī)避的區(qū)域,如系統(tǒng)的系統(tǒng)欄區(qū)域、凹凸區(qū)域。使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [AvoidAreaType] | 是 | 表示規(guī)避區(qū)類型。type為TYPE_SYSTEM,表示系統(tǒng)默認(rèn)區(qū)域。type為TYPE_CUTOUT,表示劉海屏區(qū)域。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[AvoidArea]> | Promise對(duì)象。返回窗口內(nèi)容規(guī)避區(qū)域。 |
示例:
let promise = windowClass.getAvoidArea();
promise.then((data)= > {
console.info('Succeeded in obtaining the area. Data:' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the area. Cause:' + JSON.stringify(err));
});
setFullScreen
setFullScreen(isFullScreen: boolean, callback: AsyncCallback): void
設(shè)置是否為全屏狀態(tài),使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFullScreen | boolean | 是 | 是否設(shè)為全屏狀態(tài),且全屏狀態(tài)隱藏狀態(tài)欄導(dǎo)航欄。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isFullScreen = true;
windowClass.setFullScreen(isFullScreen, (err, data) = > {
if (err.code) {
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data));
});
setFullScreen
setFullScreen(isFullScreen: boolean): Promise
設(shè)置是否為全屏狀態(tài),使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFullScreen | boolean | 是 | 是否設(shè)為全屏狀態(tài),且全屏狀態(tài)隱藏狀態(tài)欄導(dǎo)航欄。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isFullScreen = true;
let promise = windowClass.setFullScreen(isFullScreen);
promise.then((data)= > {
console.info('Succeeded in enabling the full-screen mode. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to enable the full-screen mode. Cause: ' + JSON.stringify(err));
});
setLayoutFullScreen7+
setLayoutFullScreen(isLayoutFullScreen: boolean, callback: AsyncCallback): void
設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否為全屏顯示狀態(tài),且全屏狀態(tài)下狀態(tài)欄、導(dǎo)航欄仍然顯示。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isLayoutFullScreen= true;
windowClass.setLayoutFullScreen(isLayoutFullScreen, (err, data) = > {
if (err.code) {
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data));
});
setLayoutFullScreen7+
setLayoutFullScreen(isLayoutFullScreen: boolean): Promise
設(shè)置窗口的布局是否為全屏顯示狀態(tài),使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否為全屏顯示狀態(tài),且全屏狀態(tài)下狀態(tài)欄、導(dǎo)航欄仍然顯示。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isLayoutFullScreen = true;
let promise = windowClass.setLayoutFullScreen(isLayoutFullScreen);
promise.then((data)= > {
console.info('Succeeded in setting the window layout to full-screen mode. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the window layout to full-screen mode. Cause:' + JSON.stringify(err));
});
setSystemBarEnable7+
setSystemBarEnable(names: Array<'status' | 'navigation'>, callback: AsyncCallback): void
設(shè)置導(dǎo)航欄、狀態(tài)欄的可見模式,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| names | Array | 是 | 設(shè)置狀態(tài)欄和導(dǎo)航欄是否顯示。 例如,需全部顯示,該參數(shù)設(shè)置為["status", "navigation"];不設(shè)置,則默認(rèn)不顯示。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var names = ["status", "navigation"];
windowClass.setSystemBarEnable(names, (err, data) = > {
if (err.code) {
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data));
});
setSystemBarEnable7+
setSystemBarEnable(names: Array<'status' | 'navigation'>): Promise
設(shè)置導(dǎo)航欄、狀態(tài)欄的可見模式,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| names | Array | 是 | 設(shè)置狀態(tài)欄和導(dǎo)航欄是否顯示。 例如,需全部顯示,該參數(shù)設(shè)置為["status", "navigation"];不設(shè)置,則默認(rèn)不顯示。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var names = ["status", "navigation"];
let promise = windowClass.setSystemBarEnable(names);
promise.then((data)= > {
console.info('Succeeded in setting the system bar to be visible. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the system bar to be visible. Cause:' + JSON.stringify(err));
});
setSystemBarProperties
setSystemBarProperties(systemBarProperties: SystemBarProperties, callback: AsyncCallback): void
設(shè)置窗口內(nèi)導(dǎo)航欄、狀態(tài)欄的屬性,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| SystemBarProperties | [SystemBarProperties] | 是 | 導(dǎo)航欄、狀態(tài)欄的屬性。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下兩個(gè)屬性從API Version7開始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下兩個(gè)屬性從API Version8開始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err, data) = > {
if (err.code) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
});
setSystemBarProperties
setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise
設(shè)置窗口內(nèi)導(dǎo)航欄、狀態(tài)欄的屬性,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| SystemBarProperties | [SystemBarProperties] | 是 | 導(dǎo)航欄、狀態(tài)欄的屬性。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下兩個(gè)屬性從API Version7開始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下兩個(gè)屬性從API Version8開始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then((data)= > {
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
});
loadContent7+
loadContent(path: string, callback: AsyncCallback): void
為當(dāng)前窗口加載具體頁(yè)面內(nèi)容,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.loadContent("pages/page2/page2", (err, data) = > {
if (err.code) {
console.error('Failed to load the content. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
});
loadContent7+
loadContent(path: string): Promise
為當(dāng)前窗口加載具體頁(yè)面內(nèi)容,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.loadContent("pages/page2/page2");
promise.then((data)= > {
console.info('Succeeded in loading the content. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to load the content. Cause: ' + JSON.stringify(err));
});
loadContent9+
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback): void
為當(dāng)前窗口加載與LocalStorage相關(guān)聯(lián)的具體頁(yè)面內(nèi)容,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲(chǔ)單元,為應(yīng)用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲(chǔ)。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
class myAbility extends Ability {
storage : LocalStorage
onWindowStageCreate(windowStage) {
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));
});
}
}
loadContent9+
loadContent(path: string, storage: LocalStorage): Promise
為當(dāng)前窗口加載與LocalStorage相關(guān)聯(lián)的具體頁(yè)面內(nèi)容,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲(chǔ)單元,為應(yīng)用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲(chǔ)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
class myAbility extends Ability {
storage : LocalStorage
onWindowStageCreate(windowStage) {
this.storage = new LocalStorage();
this.storage.setOrCreate("storageSimpleProp",121);
console.log('onWindowStageCreate');
var 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));
})
}
}
isShowing7+
isShowing(callback: AsyncCallback): void
判斷當(dāng)前窗口是否已顯示,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。返回true表示當(dāng)前窗口已顯示,返回false則表示當(dāng)前窗口未顯示。 |
示例:
windowClass.isShowing((err, data) = > {
if (err.code) {
console.error('Failed to check whether the window is showing. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
});
isShowing7+
isShowing(): Promise
判斷當(dāng)前窗口是否已顯示,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | Promise對(duì)象。返回true表示當(dāng)前窗口已顯示,返回false則表示當(dāng)前窗口未顯示。 |
示例:
let promise = windowClass.isShowing();
promise.then((data)= > {
console.info('Succeeded in checking whether the window is showing. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to check whether the window is showing. Cause: ' + JSON.stringify(err));
});
on('windowSizeChange')7+
on(type: 'windowSizeChange', callback: Callback): void
開啟窗口尺寸變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。 |
| callback | Callback<[Size]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前的窗口尺寸。 |
示例:
windowClass.on('windowSizeChange', (data) = > {
console.info('Succeeded in enabling the listener for window size changes. Data: ' + JSON.stringify(data));
});
off('windowSizeChange')7+
off(type: 'windowSizeChange', callback?: Callback): void
關(guān)閉窗口尺寸變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。 |
| callback | Callback<[Size]> | 否 | 回調(diào)函數(shù)。返回當(dāng)前的窗口尺寸。 |
示例:
windowClass.off('windowSizeChange');
on('systemAvoidAreaChange')7+
on(type: 'systemAvoidAreaChange', callback: Callback): void
開啟系統(tǒng)窗口規(guī)避區(qū)變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)窗口規(guī)避區(qū)變化事件。 |
| callback | Callback<[AvoidArea]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前的窗口規(guī)避區(qū)。 |
示例:
windowClass.on('systemAvoidAreaChange', (data) = > {
console.info('Succeeded in enabling the listener for system avoid area changes. Data: ' + JSON.stringify(data));
});
off('systemAvoidAreaChange')7+
off(type: 'systemAvoidAreaChange', callback?: Callback): void
關(guān)閉系統(tǒng)窗口規(guī)避區(qū)變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)窗口規(guī)避區(qū)變化事件。 |
| callback | Callback<[AvoidArea]> | 否 | 回調(diào)函數(shù)。返回當(dāng)前的窗口規(guī)避區(qū)。 |
示例:
windowClass.off('systemAvoidAreaChange');
on('keyboardHeightChange')7+
on(type: 'keyboardHeightChange', callback: Callback): void
開啟鍵盤高度變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。 |
| callback | Callback | 是 | 回調(diào)函數(shù)。返回當(dāng)前的鍵盤高度。 |
示例:
windowClass.on('keyboardHeightChange', (data) = > {
console.info('Succeeded in enabling the listener for keyboard height changes. Data: ' + JSON.stringify(data));
});
off('keyboardHeightChange')7+
off(type: 'keyboardHeightChange', callback?: Callback): void
關(guān)閉鍵盤高度變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。 |
| callback | Callback | 否 | 回調(diào)函數(shù)。返回當(dāng)前的鍵盤高度。 |
示例:
windowClass.off('keyboardHeightChange');
isSupportWideGamut8+
isSupportWideGamut(callback: AsyncCallback): void
判斷當(dāng)前窗口是否支持廣色域模式,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。返回true表示當(dāng)前窗口支持廣色域模式,返回false則表示當(dāng)前窗口不支持廣色域模式。 |
示例:
windowClass.isSupportWideGamut((err, data) = > {
if (err.code) {
console.error('Failed to check whether the window support WideGamut. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in checking whether the window support WideGamut Data: ' + JSON.stringify(data));
})
isSupportWideGamut8+
isSupportWideGamut(): Promise
判斷當(dāng)前窗口是否支持廣色域模式,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | Promise對(duì)象。返回true表示當(dāng)前窗口支持廣色域模式,返回false則表示當(dāng)前窗口不支持廣色域模式。 |
示例:
let promise = windowClass.isSupportWideGamut();
promise.then((data)= > {
console.info('Succeeded in checking whether the window support WideGamut. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to check whether the window support WideGamut. Cause: ' + JSON.stringify(err));
});
setColorSpace8+
setColorSpace(colorSpace:ColorSpace, callback: AsyncCallback): void
設(shè)置當(dāng)前窗口為廣色域模式或默認(rèn)色域模式,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| colorSpace | [ColorSpace] | 是 | 設(shè)置色域模式 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.setColorSpace(window.ColorSpace.WIDE_GAMUT, (err, data) = > {
if (err.code) {
console.error('Failed to set window colorspace. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting window colorspace. Data: ' + JSON.stringify(data));
})
setColorSpace8+
setColorSpace(colorSpace:ColorSpace): Promise
設(shè)置當(dāng)前窗口為廣色域模式或默認(rèn)色域模式,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| colorSpace | [ColorSpace] | 是 | 設(shè)置色域模式。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.setColorSpace(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));
});
getColorSpace8+
getColorSpace(callback: AsyncCallback): void
獲取當(dāng)前窗口色域模式,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[ColorSpace]> | 是 | 回調(diào)函數(shù)。當(dāng)獲取成功,err為undefined,data為當(dāng)前色域模式。 |
示例:
windowClass.getColorSpace((err, data) = > {
if (err.code) {
console.error('Failed to get window colorspace. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in getting window colorspace. Cause:' + JSON.stringify(data));
})
getColorSpace8+
getColorSpace(): Promise
獲取當(dāng)前窗口色域模式,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[ColorSpace]> | Promise對(duì)象。返回當(dāng)前色域模式。 |
示例:
let promise = windowClass.getColorSpace();
promise.then((data)= > {
console.info('Succeeded in getting window color space. Cause:' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to get window colorspace. Cause: ' + JSON.stringify(err));
});
setBackgroundColor
setBackgroundColor(color: string, callback: AsyncCallback): void
設(shè)置窗口的背景色,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| color | string | 是 | 需要設(shè)置的背景色,為十六進(jìn)制顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var color = '#00ff33';
windowClass.setBackgroundColor(color, (err, data) = > {
if (err.code) {
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
});
setBackgroundColor
setBackgroundColor(color: string): Promise
設(shè)置窗口的背景色,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| color | string | 是 | 需要設(shè)置的背景色,為十六進(jìn)制顏色,不區(qū)分大小寫,例如"#00FF00"或"#FF00FF00"。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var color = '#00ff33';
let promise = windowClass.setBackgroundColor(color);
promise.then((data)= > {
console.info('Succeeded in setting the background color. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the background color. Cause: ' + JSON.stringify(err));
});
setBrightness
setBrightness(brightness: number, callback: AsyncCallback): void
設(shè)置屏幕亮度值,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ightness | number | 是 | 屏幕亮度值,值為0-1之間。1表示最亮。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var brightness = 1;
windowClass.setBrightness(brightness, (err, data) = > {
if (err.code) {
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
});
setBrightness
setBrightness(brightness: number): Promise
設(shè)置屏幕亮度值,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ightness | number | 是 | 屏幕亮度值,值為0-1之間。1表示最亮。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var brightness = 1;
let promise = windowClass.setBrightness(brightness);
promise.then((data)= > {
console.info('Succeeded in setting the brightness. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the brightness. Cause: ' + JSON.stringify(err));
});
setDimBehind(deprecated)
setDimBehind(dimBehindValue: number, callback: AsyncCallback): void
窗口疊加時(shí),設(shè)備有子窗口的情況下設(shè)置靠后的窗口的暗度值,使用callback異步回調(diào)。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.setDimBehind(0.5, (err, data) = > {
if (err.code) {
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the dimness. Data:' + JSON.stringify(data));
});
setDimBehind(deprecated)
setDimBehind(dimBehindValue: number): Promise
窗口疊加時(shí),設(shè)備有子窗口的情況下設(shè)置靠后的窗口的暗度值,使用Promise異步回調(diào)。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.setDimBehind(0.5);
promise.then((data)= > {
console.info('Succeeded in setting the dimness. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the dimness. Cause: ' + JSON.stringify(err));
});
setFocusable7+
setFocusable(isFocusable: boolean, callback: AsyncCallback): void
設(shè)置點(diǎn)擊時(shí)是否支持切換焦點(diǎn)窗口,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFocusable | boolean | 是 | 點(diǎn)擊時(shí)是否支持切換焦點(diǎn)窗口。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isFocusable= true;
windowClass.setFocusable(isFocusable, (err, data) = > {
if (err.code) {
console.error('Failed to set the window to be focusable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
});
setFocusable7+
setFocusable(isFocusable: boolean): Promise
設(shè)置點(diǎn)擊時(shí)是否支持切換焦點(diǎn)窗口,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFocusable | boolean | 是 | 點(diǎn)擊時(shí)是否支持切換焦點(diǎn)窗口。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isFocusable= true;
let promise = windowClass.setFocusable(isFocusable);
promise.then((data)= > {
console.info('Succeeded in setting the window to be focusable. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the window to be focusable. Cause: ' + JSON.stringify(err));
});
setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean, callback: AsyncCallback): void
設(shè)置屏幕是否為常亮狀態(tài),使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isKeepScreenOn | boolean | 是 | 設(shè)置屏幕是否為常亮狀態(tài)。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isKeepScreenOn = true;
windowClass.setKeepScreenOn(isKeepScreenOn, (err, data) = > {
if (err.code) {
console.error('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
});
setKeepScreenOn
setKeepScreenOn(isKeepScreenOn: boolean): Promise
設(shè)置屏幕是否為常亮狀態(tài),使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isKeepScreenOn | boolean | 是 | 設(shè)置屏幕是否為常亮狀態(tài)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isKeepScreenOn = true;
let promise = windowClass.setKeepScreenOn(isKeepScreenOn);
promise.then((data) = > {
console.info('Succeeded in setting the screen to be always on. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.info('Failed to set the screen to be always on. Cause: ' + JSON.stringify(err));
});
setOutsideTouchable(deprecated)
setOutsideTouchable(touchable: boolean, callback: AsyncCallback): void
設(shè)置是否允許可點(diǎn)擊子窗口之外的區(qū)域,使用callback異步回調(diào)。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| touchable | boolean | 是 | 設(shè)置是否可點(diǎn)擊。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
windowClass.setOutsideTouchable(true, (err, data) = > {
if (err.code) {
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data));
})
setOutsideTouchable(deprecated)
setOutsideTouchable(touchable: boolean): Promise
設(shè)置是否允許可點(diǎn)擊子窗口之外的區(qū)域,使用Promise異步回調(diào)。。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| touchable | boolean | 是 | 設(shè)置是否可點(diǎn)擊。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
let promise = windowClass.setOutsideTouchable(true);
promise.then((data)= > {
console.info('Succeeded in setting the area to be touchable. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the area to be touchable. Cause: ' + JSON.stringify(err));
});
setPrivacyMode7+
setPrivacyMode(isPrivacyMode: boolean, callback: AsyncCallback): void
設(shè)置窗口是否為隱私模式,使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isPrivacyMode | boolean | 是 | 窗口是否為隱私模式。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isPrivacyMode = true;
windowClass.setPrivacyMode(isPrivacyMode, (err, data) = > {
if (err.code) {
console.error('Failed to set the window to privacy mode. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to privacy mode. Data:' + JSON.stringify(data));
});
setPrivacyMode7+
setPrivacyMode(isPrivacyMode: boolean): Promise
設(shè)置窗口是否為隱私模式,使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isPrivacyMode | boolean | 是 | 窗口是否為隱私模式。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isPrivacyMode = true;
let promise = windowClass.setPrivacyMode(isPrivacyMode);
promise.then((data)= > {
console.info('Succeeded in setting the window to privacy mode. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the window to privacy mode. Cause: ' + JSON.stringify(err));
});
setTouchable7+
setTouchable(isTouchable: boolean, callback: AsyncCallback): void
設(shè)置窗口是否為可觸狀態(tài),使用callback異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isTouchable | boolean | 是 | 窗口是否為可觸狀態(tài)。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
var isTouchable = true;
windowClass.setTouchable(isTouchable, (err, data) = > {
if (err.code) {
console.error('Failed to set the window to be touchable. Cause:' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the window to be touchable. Data:' + JSON.stringify(data));
});
setTouchable7+
setTouchable(isTouchable: boolean): Promise
設(shè)置窗口是否為可觸狀態(tài),使用Promise異步回調(diào)。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isTouchable | boolean | 是 | 窗口是否為可觸狀態(tài)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
var isTouchable = true;
let promise = windowClass.setTouchable(isTouchable);
promise.then((data)= > {
console.info('Succeeded in setting the window to be touchable. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the window to be touchable. Cause: ' + JSON.stringify(err));
});
WindowStageEventType9+
WindowStage生命周期。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 默認(rèn)值 | 說明 |
|---|---|---|
| FOREGROUND | 1 | 切到前臺(tái)。 |
| ACTIVE | 2 | 獲焦?fàn)顟B(tài)。 |
| INACTIVE | 3 | 失焦?fàn)顟B(tài)。 |
| BACKGROUND | 4 | 切到后臺(tái)。 |
WindowStage9+
窗口管理器。管理各個(gè)基本窗口單元,即[Window]實(shí)例。
下列API示例中都需在[onWindowStageCreate()]函數(shù)中使用WindowStage的實(shí)例調(diào)用對(duì)應(yīng)方法。
getMainWindow9+
getMainWindow(callback: AsyncCallback): void
獲取該WindowStage實(shí)例下的主窗口,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前WindowStage下的主窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.getMainWindow((err, data) = > {
if (err.code) {
console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
});
}
}
getMainWindow9+
getMainWindow(): Promise
獲取該WindowStage實(shí)例下的主窗口,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前WindowStage下的主窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.getMainWindow();
promise.then((data)= > {
windowClass = data;
console.info('Succeeded in obtaining the main window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the main window. Cause: ' + JSON.stringify(err));
});
}
}
createSubWindow9+
createSubWindow(name: string, callback: AsyncCallback): void
創(chuàng)建該WindowStage實(shí)例下的子窗口,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| name | String | 是 | 子窗口的名字。 |
| callback | AsyncCallback<[Window]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前WindowStage下的子窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.createSubWindow("mySubWindow", (err, data) = > {
if (err.code) {
console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data));
windowClass.resetSize(500, 1000);
});
}
}
createSubWindow9+
createSubWindow(name: string): Promise
創(chuàng)建該WindowStage實(shí)例下的子窗口,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| name | String | 是 | 子窗口的名字。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對(duì)象。返回當(dāng)前WindowStage下的子窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.createSubWindow("mySubWindow");
promise.then((data)= > {
windowClass = data;
console.info('Succeeded in create sub window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to create sub window. Cause: ' + JSON.stringify(err));
})
}
}
getSubWindow9+
getSubWindow(callback: AsyncCallback>): void
獲取該WindowStage實(shí)例下的所有子窗口,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback> | 是 | 回調(diào)函數(shù)。返回當(dāng)前WindowStage下的所有子窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
windowStage.getSubWindow((err, data) = > {
if (err.code) {
console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
return;
}
windowClass = data;
console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data));
});
}
}
getSubWindow9+
getSubWindow(): Promise>
獲取該WindowStage實(shí)例下的所有子窗口,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise> | Promise對(duì)象。返回當(dāng)前WindowStage下的所有子窗口對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
var windowClass = null;
let promise = windowStage.getSubWindow();
promise.then((data)= > {
windowClass = data;
console.info('Succeeded in obtaining the sub window. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to obtain the sub window. Cause: ' + JSON.stringify(err));
})
}
}
loadContent9+
loadContent(path: string, storage: LocalStorage, callback: AsyncCallback): void
為當(dāng)前WindowStage的主窗口加載與LocalStorage相關(guān)聯(lián)的具體頁(yè)面內(nèi)容,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲(chǔ)單元,為應(yīng)用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲(chǔ)。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
storage : LocalStorage
onWindowStageCreate(windowStage) {
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));
});
}
}
loadContent9+
loadContent(path: string, storage?: LocalStorage): Promise
為當(dāng)前WindowStage的主窗口加載與LocalStorage相關(guān)聯(lián)的具體頁(yè)面內(nèi)容,使用Promise異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| storage | [LocalStorage] | 否 | 存儲(chǔ)單元,為應(yīng)用程序范圍內(nèi)的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲(chǔ)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結(jié)果的Promise對(duì)象。 |
示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
storage : LocalStorage
onWindowStageCreate(windowStage) {
this.storage = new LocalStorage();
this.storage.setOrCreate("storageSimpleProp",121);
console.log('onWindowStageCreate');
var 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));
})
}
}
loadContent9+
loadContent(path: string, callback: AsyncCallback): void
為當(dāng)前WindowStage的主窗口加載具體頁(yè)面內(nèi)容,使用callback異步回調(diào)。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設(shè)置加載頁(yè)面的路徑。 |
| callback | AsyncCallback | 是 | 回調(diào)函數(shù)。 |
示例:
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));
});
}
}
on('windowStageEvent')9+
on(eventType: 'windowStageEvent', callback: Callback): void
開啟WindowStage生命周期變化的監(jiān)聽。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。 |
| callback | Callback<[WindowStageEventType]> | 是 | 回調(diào)函數(shù)。返回當(dāng)前的WindowStage生命周期狀態(tài)。 |
示例:
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));
});
}
}
off('windowStageEvent')9+
off(eventType: 'windowStageEvent', callback?: Callback): void
關(guān)閉WindowStage生命周期變化的監(jiān)聽。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數(shù):
| 參數(shù)名 | 類型 | 必填 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。 |
| callback | Callback<[WindowStageEventType]> | 否 | 回調(diào)函數(shù)。返回當(dāng)前的WindowStage生命周期狀態(tài)。 |

示例:
import Ability from '@ohos.application.Ability';
class myAbility extends Ability {
onWindowStageCreate(windowStage) {
console.log('onWindowStageCreate');
windowStage.off('windowStageEvent');
}
}
審核編輯 黃宇
-
接口
+關(guān)注
關(guān)注
33文章
9519瀏覽量
157020 -
圖形圖像
+關(guān)注
關(guān)注
0文章
6瀏覽量
1077 -
鴻蒙
+關(guān)注
關(guān)注
60文章
2963瀏覽量
45883
發(fā)布評(píng)論請(qǐng)先 登錄
鴻蒙開發(fā)接口圖形圖像:【@ohos.screen (屏幕)】
鴻蒙應(yīng)用/元服務(wù)開發(fā)-窗口(Stage模型)設(shè)置懸浮窗
鴻蒙應(yīng)用/元服務(wù)開發(fā)-窗口(Stage模型)設(shè)置應(yīng)用主窗口
鴻蒙原生應(yīng)用元服務(wù)開發(fā)-WebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)接口說明
OpenHarmony實(shí)戰(zhàn)開發(fā)-管理系統(tǒng)窗口(僅Stage模型支持)
北京將召開圖形圖像技術(shù)應(yīng)用交流大會(huì) 2013年11月將在北京...
北京將召開圖形圖像技術(shù)應(yīng)用交流大會(huì) 2013年11月將在北京...
計(jì)算機(jī)圖形圖像處理最新應(yīng)用分析
圖形圖像處理實(shí)驗(yàn)的工程文件免費(fèi)下載
鴻蒙開發(fā)圖形圖像——@ohos.effectKit (圖像效果)
鴻蒙開發(fā)圖形圖像:【圖形子系統(tǒng)】
鴻蒙OS元服務(wù)開發(fā)說明:【W(wǎng)ebGL網(wǎng)頁(yè)圖形庫(kù)開發(fā)接口】
鴻蒙開發(fā)接口圖形圖像:【W(wǎng)ebGL2】
鴻蒙開發(fā)接口圖形圖像:【@ohos.window (窗口)】
評(píng)論