鸿蒙Harmony OS ---窗口管理(Stage模型)

基本概念

目录

基本概念

场景介绍

接口说明


  1. 窗口沉浸式能力:指对状态栏、导航栏等系统窗口进行控制,减少状态栏导航栏等系统界面的突兀感,从而使用户获得最佳体验的能力。
  2. 沉浸式能力只在应用主窗口作为全屏窗口时生效。通常情况下,应用子窗口(弹窗、悬浮窗口等辅助窗口)无法使用沉浸式能力。
  3. 悬浮窗:全局悬浮窗口是一种特殊的应用窗口,具备在应用主窗口和对应Ability退至后台后仍然可以在前台显示的能力。
  4. 悬浮窗口可以用于应用退至后台后,使用小窗继续播放视频,或者为特定的应用创建悬浮球等快速入口。应用在创建悬浮窗口前,需要申请对应的权限。

场景介绍

  1. 在Stage模型下,管理应用窗口的典型场景有:
  2. 设置应用主窗口属性及目标页面
  3. 设置应用子窗口属性及目标页面
  4. 体验窗口沉浸式能力
  5. 设置悬浮窗

接口说明

上述场景涉及的常用接口如下表所示。更多API说明请参见API参考

实例名

接口名

描述

WindowStage

getMainWindow(callback: AsyncCallback<Window>): void

获取WindowStage实例下的主窗口。

此接口仅可在Stage模型下使用。

WindowStage

loadContent(path: string, callback: AsyncCallback<void>): void

为当前WindowStage的主窗口加载具体页面。

此接口仅可在Stage模型下使用。

WindowStage

createSubWindow(name: string, callback: AsyncCallback<Window>): void

创建子窗口。

此接口仅可在Stage模型下使用。

window静态方法

createWindow(config: Configuration, callback: AsyncCallback<Window>): void

创建子窗口或系统窗口。

-config:创建窗口时的参数。

Window

setUIContent(path: string, callback: AsyncCallback<void>): void

为当前窗口加载具体页面。

Window

setWindowBrightness(brightness: number, callback: AsyncCallback<void>): void

设置屏幕亮度值。

Window

setWindowTouchable(isTouchable: boolean, callback: AsyncCallback<void>): void

设置窗口是否为可触状态。

Window

moveWindowTo(x: number, y: number, callback: AsyncCallback<void>): void

移动当前窗口位置。

Window

resize(width: number, height: number, callback: AsyncCallback<void>): void

改变当前窗口大小。

Window

setWindowSystemBarEnable(names: Array<'status'|'navigation'>): Promise<void>

设置导航栏、状态栏是否显示。

Window

showWindow(callback: AsyncCallback<void>): void

显示当前窗口。

Window

on(type: 'touchOutside', callback: Callback<void>): void

开启本窗口区域外的点击事件的监听。

Window

destroyWindow(callback: AsyncCallback<void>): void

销毁当前窗口。

下次更新编写代码

查阅详情转到鸿蒙开发者官网:管理应用窗口(Stage模型)-窗口管理-开发 - 华为HarmonyOS开发者 (huawei.com)(Ctrl+点击链接)

猜你喜欢

转载自blog.csdn.net/2302_80840424/article/details/142393107
今日推荐