窗口
窗口提供管理窗口的一些基礎能力,包括對當前窗口的創(chuàng)建、銷毀、各屬性設置,以及對各窗口間的管理調度。
該模塊提供以下窗口相關的常用功能:
- [Window]:當前窗口實例,窗口管理器管理的基本單元。
- [WindowStage]:窗口管理器。管理各個基本窗口單元。
說明:
開發(fā)前請熟悉鴻蒙開發(fā)指導文檔 :[gitee.com/li-shizhen-skin/harmony-os/blob/master/README.md]
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
導入模塊
import window from '@ohos.window';
WindowType7+
窗口類型枚舉。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| TYPE_APP | 0 | 表示應用子窗口。此接口僅可在FA模型下使用。 |
| TYPE_SYSTEM_ALERT | 1 | 表示系統(tǒng)告警窗口。此接口僅可在Stage模型下使用。 |
AvoidAreaType7+
窗口內容需要規(guī)避區(qū)域的類型枚舉。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| TYPE_SYSTEM | 0 | 表示系統(tǒng)默認區(qū)域。 |
| TYPE_CUTOUT | 1 | 表示劉海屏區(qū)域。 |
WindowMode7+
窗口模式枚舉。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| UNDEFINED | 1 | 表示APP未定義窗口模式。 |
| FULLSCREEN | 2 | 表示APP全屏模式。 |
| PRIMARY | 3 | 表示APP分屏多窗口主要模式。 |
| SECONDARY | 4 | 表示APP分屏多窗口次要模式。 |
| FLOATING | 5 | 表示APP自由懸浮形式窗口模式。 |
WindowLayoutMode9+
窗口布局模式枚舉。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 值 | 說明 |
|---|---|---|
| WINDOW_LAYOUT_MODE_CASCADE | 0 | 表示使用層疊布局模式。 |
| WINDOW_LAYOUT_MODE_TILE | 1 | 表示使用平鋪布局模式。 |
SystemBarProperties
狀態(tài)欄、導航欄的屬性。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| statusBarColor | string | 是 | 是 | 狀態(tài)欄背景顏色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| isStatusBarLightIcon7+ | boolean | 否 | 是 | 狀態(tài)欄圖標是否為高亮狀態(tài)。 |
| statusBarContentColor8+ | string | 否 | 是 | 狀態(tài)欄文字顏色。 |
| navigationBarColor | string | 是 | 是 | 導航欄背景顏色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| isNavigationBarLightIcon7+ | boolean | 否 | 否 | 導航欄圖標是否為高亮狀態(tài)。 |
| navigationBarContentColor8+ | string | 否 | 是 | 導航欄文字顏色。 |
SystemBarRegionTint8+
單個導航欄或狀態(tài)欄回調信息。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| type | [WindowType] | 是 | 是 | 當前屬性改變的系統(tǒng)欄類型,僅支持類型為導航欄、狀態(tài)欄的系統(tǒng)欄。 |
| isEnable | boolean | 是 | 是 | 當前系統(tǒng)欄是否顯示。 |
| region | [Rect] | 是 | 是 | 當前系統(tǒng)欄的位置及大小。 |
| backgroundColor | string | 是 | 是 | 系統(tǒng)欄背景顏色,為十六進制RGB或ARGB顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| contentColor | string | 是 | 是 | 系統(tǒng)欄文字顏色。 |
SystemBarTintState8+
當前系統(tǒng)欄回調信息集合。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| displayId | number | 是 | 否 | 當前物理屏幕id。 |
| regionTint | Array<[SystemBarRegionTint]> | 是 | 是 | 當前已改變的所有系統(tǒng)欄信息。 |
Rect7+
窗口矩形區(qū)域。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| left | number | 是 | 是 | 矩形區(qū)域的左邊界。 |
| top | number | 是 | 是 | 矩形區(qū)域的上邊界。 |
| width | number | 是 | 是 | 矩形區(qū)域的寬度。 |
| height | number | 是 | 是 | 矩形區(qū)域的高度。 |
AvoidArea7+
窗口內容規(guī)避區(qū)域。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| leftRect | [Rect] | 是 | 是 | 屏幕左側的矩形區(qū)。 |
| topRect | [Rect] | 是 | 是 | 屏幕頂部的矩形區(qū)。 |
| rightRect | [Rect] | 是 | 是 | 屏幕右側的矩形區(qū)。 |
| bottomRect | [Rect] | 是 | 是 | 屏幕底部的矩形區(qū)。 |
Size7+
窗口大小。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| width | number | 是 | 是 | 窗口寬度。 |
| height | number | 是 | 是 | 窗口高度。 |
WindowProperties
窗口屬性。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 參數類型 | 可讀 | 可寫 | 說明 |
|---|---|---|---|---|
| windowRect7+ | [Rect] | 是 | 是 | 窗口尺寸。 |
| type7+ | [WindowType] | 是 | 是 | 窗口類型。 |
| isFullScreen | boolean | 是 | 是 | 是否全屏,默認為false。 |
| isLayoutFullScreen7+ | boolean | 是 | 是 | 窗口是否為沉浸式,默認為false。 |
| focusable7+ | boolean | 是 | 否 | 窗口是否可聚焦,默認為true。 |
| touchable7+ | boolean | 是 | 否 | 窗口是否可觸摸,默認為true。 |
| ightness | number | 是 | 是 | 屏幕亮度, 取值范圍為0~1,1表示最大亮度值。 |
| dimBehindValue(deprecated) | number | 是 | 是 | 靠后窗口的暗度值,取值范圍為0~1,1表示最暗。 -**說明:**從API version 9開始廢棄。 - 從 API version 7開始支持 |
| isKeepScreenOn | boolean | 是 | 是 | 屏幕是否常亮,默認為false。 |
| isPrivacyMode7+ | boolean | 是 | 是 | 隱私模式,默認為false。 |
| isRoundCorner7+ | boolean | 是 | 是 | 窗口是否為圓角。默認為false。 |
| isTransparent7+ | boolean | 是 | 是 | 窗口是否透明。默認為false。 |
ColorSpace8+
色域模式。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
| 名稱 | 默認值 | 說明 |
|---|---|---|
| DEFAULT | 0 | 默認色域模式。 |
| WIDE_GAMUT | 1 | 廣色域模式。 |
window.create7+
create(id: string, type: WindowType, callback: AsyncCallback): void
創(chuàng)建子窗口,使用callback異步回調。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前創(chuàng)建的子窗口對象。 |
示例:
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異步回調。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前創(chuàng)建的子窗口對象。 |
示例:
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異步回調,其中Context詳見[Context]。
從API version 9開始,當Context為[ServiceExtensionContext]時,創(chuàng)建系統(tǒng)窗口,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當前應用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前創(chuàng)建的子窗口對象。 |
示例:
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異步回調,其中Context詳見[Context]
從API version 9開始,當Context為[ServiceExtensionContext]時,創(chuàng)建系統(tǒng)窗口,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當前應用上下文信息。 API version 8的Context定義見[Context] API version 9的Context定義見[Context]。 |
| id | string | 是 | 窗口id。 |
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前創(chuàng)建的子窗口對象。 |
示例:
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所對應的窗口,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前查找到的窗口對象。 |
示例:
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所對應的窗口,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | string | 是 | 窗口id。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前查找的窗口對象。 |
示例:
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
獲取當前應用內最后顯示的窗口,使用callback異步回調。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前應用內最后顯示的窗口對象。 |
示例:
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
獲取當前應用內最后顯示的窗口,使用Promise異步回調。
此接口僅可在FA模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前應用內最后顯示的窗口對象。 |
示例:
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
獲取當前應用內最后顯示的窗口,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當前應用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前應用內最后顯示的窗口對象。 |
示例:
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
獲取當前應用內最后顯示的窗口,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ctx | Context | 是 | 當前應用上下文信息。 API version 8的Context定義見[Context]。 API version 9的Context定義見[Context]。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前應用內最后顯示的窗口對象。 |
示例:
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
最小化某顯示設備下的所有窗口。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | number | 是 | 顯示設備[Display]的ID號 |
| callback | AsyncCallback | 是 | 回調信息。 |
示例:
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
最小化某顯示設備下的所有窗口。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| id | number | 是 | 顯示設備[Display]的ID號 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
多窗口快速切換時隱藏或者恢復應用窗口。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調信息。 |
示例:
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
多窗口快速切換時隱藏或者恢復應用窗口。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口布局模式。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| mode | [WindowLayoutMode] | 是 | 設置的窗口布局模式 |
| callback | AsyncCallback | 是 | 回調信息。 |
示例:
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
設置窗口布局模式。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| mode | [WindowLayoutMode] | 是 | 設置的窗口布局模式 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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)欄、導航欄屬性變化的監(jiān)聽。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemBarTintChange',即導航欄、狀態(tài)欄屬性變化事件。 |
| callback | Callback<[SystemBarTintState]> | 是 | 回調函數。返回當前的狀態(tài)欄、導航欄信息集合。 |
示例:
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
關閉狀態(tài)欄、導航欄屬性變化的監(jiān)聽。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemBarTintChange',即導航欄、狀態(tài)欄屬性變化事件。 |
| callback | Callback<[SystemBarTintState]> | 否 | 回調函數。返回當前的狀態(tài)欄、導航欄信息集合。 |
示例:
window.off('systemBarTintChange');
Window
當前窗口實例,窗口管理器管理的基本單元。
下列API示例中都需先使用[getTopWindow()]、[create()]、[find()]中的任一方法獲取到Window實例,再通過此實例調用對應方法。
hide7+
hide (callback: AsyncCallback): void
隱藏當前窗口,使用callback異步回調。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
隱藏當前窗口,使用Promise異步回調。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
顯示當前窗口,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
顯示當前窗口,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
銷毀當前窗口,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
銷毀當前窗口,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
移動窗口位置,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| x | number | 是 | 窗口在x軸方向移動的值,值為正表示右移,單位為px。 |
| y | number | 是 | 窗口在y軸方向移動的值,值為正表示下移,單位為px。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
移動窗口位置,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| x | number | 是 | 窗口在x軸方向移動的值,值為正表示右移,單位為px。 |
| y | number | 是 | 窗口在y軸方向移動的值,值為正表示下移,單位為px。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
改變當前窗口大小,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| width | number | 是 | 目標窗口的寬度,單位為px。 |
| height | number | 是 | 目標窗口的高度,單位為px。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
改變當前窗口大小,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| width | number | 是 | 目標窗口的寬度,單位為px。 |
| height | number | 是 | 目標窗口的高度,單位為px。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口類型,使用callback異步回調。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [WindowType] | 是 | 窗口類型。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置窗口類型,使用Promise異步回調。
此接口為系統(tǒng)接口,三方應用不支持調用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [WindowType] | 是 | 窗口類型。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
獲取當前窗口的屬性,使用callback異步回調,返回WindowProperties。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[WindowProperties]> | 是 | 回調函數。返回當前窗口屬性。 |
示例:
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
獲取當前窗口的屬性,使用Promise異步回調,返回WindowProperties。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[WindowProperties]> | Promise對象。返回當前窗口屬性。 |
示例:
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
獲取窗口內容規(guī)避的區(qū)域,如系統(tǒng)的系統(tǒng)欄區(qū)域、凹凸區(qū)域。使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [AvoidAreaType] | 是 | 表示規(guī)避區(qū)類型。type為TYPE_SYSTEM,表示系統(tǒng)默認區(qū)域。type為TYPE_CUTOUT,表示劉海屏區(qū)域。 |
| callback | AsyncCallback<[AvoidArea]> | 是 | 回調函數。返回窗口內容規(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
獲取窗口內容規(guī)避的區(qū)域,如系統(tǒng)的系統(tǒng)欄區(qū)域、凹凸區(qū)域。使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | [AvoidAreaType] | 是 | 表示規(guī)避區(qū)類型。type為TYPE_SYSTEM,表示系統(tǒng)默認區(qū)域。type為TYPE_CUTOUT,表示劉海屏區(qū)域。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[AvoidArea]> | Promise對象。返回窗口內容規(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
設置是否為全屏狀態(tài),使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFullScreen | boolean | 是 | 是否設為全屏狀態(tài),且全屏狀態(tài)隱藏狀態(tài)欄導航欄。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置是否為全屏狀態(tài),使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFullScreen | boolean | 是 | 是否設為全屏狀態(tài),且全屏狀態(tài)隱藏狀態(tài)欄導航欄。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口的布局是否為全屏顯示狀態(tài),使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否為全屏顯示狀態(tài),且全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置窗口的布局是否為全屏顯示狀態(tài),使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isLayoutFullScreen | boolean | 是 | 窗口的布局是否為全屏顯示狀態(tài),且全屏狀態(tài)下狀態(tài)欄、導航欄仍然顯示。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置導航欄、狀態(tài)欄的可見模式,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| names | Array | 是 | 設置狀態(tài)欄和導航欄是否顯示。 例如,需全部顯示,該參數設置為["status", "navigation"];不設置,則默認不顯示。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置導航欄、狀態(tài)欄的可見模式,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| names | Array | 是 | 設置狀態(tài)欄和導航欄是否顯示。 例如,需全部顯示,該參數設置為["status", "navigation"];不設置,則默認不顯示。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口內導航欄、狀態(tài)欄的屬性,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| SystemBarProperties | [SystemBarProperties] | 是 | 導航欄、狀態(tài)欄的屬性。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下兩個屬性從API Version7開始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下兩個屬性從API Version8開始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
windowClass.setSystemBarProperties(SystemBarProperties, (err, data) = > {
if (err.code) {
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
return;
}
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
});
setSystemBarProperties
setSystemBarProperties(systemBarProperties: SystemBarProperties): Promise
設置窗口內導航欄、狀態(tài)欄的屬性,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| SystemBarProperties | [SystemBarProperties] | 是 | 導航欄、狀態(tài)欄的屬性。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
var SystemBarProperties={
statusBarColor: '#ff00ff',
navigationBarColor: '#00ff00',
//以下兩個屬性從API Version7開始支持
isStatusBarLightIcon: true,
isNavigationBarLightIcon:false,
//以下兩個屬性從API Version8開始支持
statusBarContentColor:'#ffffff',
navigationBarContentColor:'#00ffff'
};
let promise = windowClass.setSystemBarProperties(SystemBarProperties);
promise.then((data)= > {
console.info('Succeeded in setting the system bar properties. Data: ' + JSON.stringify(data));
}).catch((err)= >{
console.error('Failed to set the system bar properties. Cause: ' + JSON.stringify(err));
});
loadContent7+
loadContent(path: string, callback: AsyncCallback): void
為當前窗口加載具體頁面內容,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
為當前窗口加載具體頁面內容,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
為當前窗口加載與LocalStorage相關聯(lián)的具體頁面內容,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲單元,為應用程序范圍內的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
為當前窗口加載與LocalStorage相關聯(lián)的具體頁面內容,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲單元,為應用程序范圍內的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
判斷當前窗口是否已顯示,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調函數。返回true表示當前窗口已顯示,返回false則表示當前窗口未顯示。 |
示例:
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
判斷當前窗口是否已顯示,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | Promise對象。返回true表示當前窗口已顯示,返回false則表示當前窗口未顯示。 |
示例:
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
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。 |
| callback | Callback<[Size]> | 是 | 回調函數。返回當前的窗口尺寸。 |
示例:
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
關閉窗口尺寸變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowSizeChange',即窗口尺寸變化事件。 |
| callback | Callback<[Size]> | 否 | 回調函數。返回當前的窗口尺寸。 |
示例:
windowClass.off('windowSizeChange');
on('systemAvoidAreaChange')7+
on(type: 'systemAvoidAreaChange', callback: Callback): void
開啟系統(tǒng)窗口規(guī)避區(qū)變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)窗口規(guī)避區(qū)變化事件。 |
| callback | Callback<[AvoidArea]> | 是 | 回調函數。返回當前的窗口規(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
關閉系統(tǒng)窗口規(guī)避區(qū)變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'systemAvoidAreaChange',即系統(tǒng)窗口規(guī)避區(qū)變化事件。 |
| callback | Callback<[AvoidArea]> | 否 | 回調函數。返回當前的窗口規(guī)避區(qū)。 |
示例:
windowClass.off('systemAvoidAreaChange');
on('keyboardHeightChange')7+
on(type: 'keyboardHeightChange', callback: Callback): void
開啟鍵盤高度變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。 |
| callback | Callback | 是 | 回調函數。返回當前的鍵盤高度。 |
示例:
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
關閉鍵盤高度變化的監(jiān)聽。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'keyboardHeightChange',即鍵盤高度變化事件。 |
| callback | Callback | 否 | 回調函數。返回當前的鍵盤高度。 |
示例:
windowClass.off('keyboardHeightChange');
isSupportWideGamut8+
isSupportWideGamut(callback: AsyncCallback): void
判斷當前窗口是否支持廣色域模式,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback | 是 | 回調函數。返回true表示當前窗口支持廣色域模式,返回false則表示當前窗口不支持廣色域模式。 |
示例:
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
判斷當前窗口是否支持廣色域模式,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise | Promise對象。返回true表示當前窗口支持廣色域模式,返回false則表示當前窗口不支持廣色域模式。 |
示例:
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
設置當前窗口為廣色域模式或默認色域模式,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| colorSpace | [ColorSpace] | 是 | 設置色域模式 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置當前窗口為廣色域模式或默認色域模式,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| colorSpace | [ColorSpace] | 是 | 設置色域模式。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
獲取當前窗口色域模式,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[ColorSpace]> | 是 | 回調函數。當獲取成功,err為undefined,data為當前色域模式。 |
示例:
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
獲取當前窗口色域模式,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[ColorSpace]> | Promise對象。返回當前色域模式。 |
示例:
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
設置窗口的背景色,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| color | string | 是 | 需要設置的背景色,為十六進制顏色,不區(qū)分大小寫,例如#00FF00或#FF00FF00。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置窗口的背景色,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| color | string | 是 | 需要設置的背景色,為十六進制顏色,不區(qū)分大小寫,例如"#00FF00"或"#FF00FF00"。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置屏幕亮度值,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ightness | number | 是 | 屏幕亮度值,值為0-1之間。1表示最亮。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置屏幕亮度值,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| ightness | number | 是 | 屏幕亮度值,值為0-1之間。1表示最亮。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
窗口疊加時,設備有子窗口的情況下設置靠后的窗口的暗度值,使用callback異步回調。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
窗口疊加時,設備有子窗口的情況下設置靠后的窗口的暗度值,使用Promise異步回調。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| dimBehindValue | number | 是 | 表示靠后的窗口的暗度值,取值范圍為0-1,1表示最暗。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置點擊時是否支持切換焦點窗口,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFocusable | boolean | 是 | 點擊時是否支持切換焦點窗口。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置點擊時是否支持切換焦點窗口,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isFocusable | boolean | 是 | 點擊時是否支持切換焦點窗口。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置屏幕是否為常亮狀態(tài),使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isKeepScreenOn | boolean | 是 | 設置屏幕是否為常亮狀態(tài)。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置屏幕是否為常亮狀態(tài),使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isKeepScreenOn | boolean | 是 | 設置屏幕是否為常亮狀態(tài)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置是否允許可點擊子窗口之外的區(qū)域,使用callback異步回調。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| touchable | boolean | 是 | 設置是否可點擊。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置是否允許可點擊子窗口之外的區(qū)域,使用Promise異步回調。。
說明: 從API version 9開始廢棄。
從 API version 7開始支持。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| touchable | boolean | 是 | 設置是否可點擊。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口是否為隱私模式,使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isPrivacyMode | boolean | 是 | 窗口是否為隱私模式。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置窗口是否為隱私模式,使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isPrivacyMode | boolean | 是 | 窗口是否為隱私模式。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
設置窗口是否為可觸狀態(tài),使用callback異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isTouchable | boolean | 是 | 窗口是否為可觸狀態(tài)。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
設置窗口是否為可觸狀態(tài),使用Promise異步回調。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| isTouchable | boolean | 是 | 窗口是否為可觸狀態(tài)。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
| 名稱 | 默認值 | 說明 |
|---|---|---|
| FOREGROUND | 1 | 切到前臺。 |
| ACTIVE | 2 | 獲焦狀態(tài)。 |
| INACTIVE | 3 | 失焦狀態(tài)。 |
| BACKGROUND | 4 | 切到后臺。 |
WindowStage9+
窗口管理器。管理各個基本窗口單元,即[Window]實例。
下列API示例中都需在[onWindowStageCreate()]函數中使用WindowStage的實例調用對應方法。
getMainWindow9+
getMainWindow(callback: AsyncCallback): void
獲取該WindowStage實例下的主窗口,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前WindowStage下的主窗口對象。 |
示例:
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實例下的主窗口,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前WindowStage下的主窗口對象。 |
示例:
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實例下的子窗口,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| name | String | 是 | 子窗口的名字。 |
| callback | AsyncCallback<[Window]> | 是 | 回調函數。返回當前WindowStage下的子窗口對象。 |
示例:
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實例下的子窗口,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| name | String | 是 | 子窗口的名字。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise<[Window]> | Promise對象。返回當前WindowStage下的子窗口對象。 |
示例:
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實例下的所有子窗口,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| callback | AsyncCallback> | 是 | 回調函數。返回當前WindowStage下的所有子窗口對象。 |
示例:
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實例下的所有子窗口,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
返回值:
| 類型 | 說明 |
|---|---|
| Promise> | Promise對象。返回當前WindowStage下的所有子窗口對象。 |
示例:
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
為當前WindowStage的主窗口加載與LocalStorage相關聯(lián)的具體頁面內容,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| storage | [LocalStorage] | 是 | 存儲單元,為應用程序范圍內的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
為當前WindowStage的主窗口加載與LocalStorage相關聯(lián)的具體頁面內容,使用Promise異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| storage | [LocalStorage] | 否 | 存儲單元,為應用程序范圍內的可變狀態(tài)屬性和非可變狀態(tài)屬性提供存儲。 |
返回值:
| 類型 | 說明 |
|---|---|
| Promise | 無返回結果的Promise對象。 |
示例:
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
為當前WindowStage的主窗口加載具體頁面內容,使用callback異步回調。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| path | string | 是 | 設置加載頁面的路徑。 |
| callback | AsyncCallback | 是 | 回調函數。 |
示例:
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
參數:
| 參數名 | 類型 | 必填 | 說明 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。 |
| callback | Callback<[WindowStageEventType]> | 是 | 回調函數。返回當前的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
關閉WindowStage生命周期變化的監(jiān)聽。
此接口僅可在Stage模型下使用。
系統(tǒng)能力: SystemCapability.WindowManager.WindowManager.Core
參數:
| 參數名 | 類型 | 必填 | 說明HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿 |
|---|---|---|---|
| type | string | 是 | 監(jiān)聽事件,固定為'windowStageEvent',即WindowStage生命周期變化事件。 |
| callback | Callback<[WindowStageEventType]> | 否 | 回調函數。返回當前的WindowStage生命周期狀態(tài)。 |

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