概述:
視窗提供管理視窗的一些基礎能力,包括對當前視窗的建立、銷燬、各屬性設定,以及對各視窗間的管理排程。
該模組提供以下視窗相關的常用功能:
- Window:當前視窗例項,視窗管理器管理的基本單元。
- WindowStage:視窗管理器。管理各個基本視窗單元。
一、匯入模組
import window from '@ohos.window';
二、一些常用操作
1、setWindowSystemBarProperties
設定主視窗三鍵導航欄、狀態列的屬性,使用Promise非同步回撥
使用示例:
import UIAbility from '@ohos.app.ability.UIAbility'; import hilog from '@ohos.hilog'; import window from '@ohos.window'; import { HMRouterMgr } from '@hadss/hmrouter'; import { AbilityConstant, Want } from '@kit.AbilityKit'; import { AppUtil } from '../common/utils/AppUtil'; import { LogUtil } from '../common/utils/LogUtil'; import { BusinessError } from '@kit.BasicServicesKit'; export default class EntryAbility extends UIAbility { onDestroy() { hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onDestroy'); } onWindowStageCreate(windowStage: window.WindowStage) { // Main window is created, set main page for this ability hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate'); windowStage.loadContent('pages/Splash', (err, data) => { if (err.code) { hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? ''); return; } hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? ''); }); // 設定狀態列背景顏色 let windowClass: window.Window | undefined = undefined; windowStage.getMainWindow((err: BusinessError, data) => { const errCode: number = err.code; if (errCode) { console.error(`Failed to obtain the main window. Cause code: ${err.code}, message: ${err.message}`); return; } windowClass = data; let SystemBarProperties: window.SystemBarProperties = { statusBarColor: '#12B378', // 狀態列背景顏色 }; try { let promise = windowClass.setWindowSystemBarProperties(SystemBarProperties); promise.then(() => { console.info('Succeeded in setting the system bar properties.'); }).catch((err: BusinessError) => { console.error(`Failed to set the system bar properties. Cause code: ${err.code}, message: ${err.message}`); }); } catch (exception) { console.error(`Failed to set the system bar properties. Cause code: ${exception.code}, message: ${exception.message}`); } }); } onWindowStageDestroy() { // Main window is destroyed, release UI related resources hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageDestroy'); } onForeground() { // Ability has brought to foreground hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onForeground'); } onBackground() { // Ability has back to background hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onBackground'); } }