将应用主窗口设置为全屏(沉浸式)模式

onWindowStageCreate(windowStage: window.WindowStage): void {
    ...
    windowStage.getMainWindow().then((data: window.Window) => {
      // Window immersive.
      data.setWindowLayoutFullScreen(true);
    })
    ...
}

windowStage 是 UIAbility 中的 context.windowStage,代表当前 Ability 的窗口舞台(Window Stage)。作用是管理应用的窗口生命周期、布局、显示等。是 HarmonyOS 应用与系统窗口服务交互的核心入口。

getMainWindow()获取当前 Ability 的主窗口(Main Window) 对象。返回值是Promise<window.Window>,需用 .then() 或 await 处理。

data: window.Window,data 就是获取到的 主窗口实例,类型为 window.Window。通过它可调用各种窗口控制方法,如:全屏/非全屏,透明状态栏,窗口大小调整,焦点控制等。

data.setWindowLayoutFullScreen(true)可以将窗口布局设为全屏模式(沉浸式),应用内容延伸到屏幕顶部和底部,用户需从边缘滑动才能临时呼出导航栏(类似游戏、视频播放器)。true:开启全屏 → 隐藏状态栏和导航栏,内容铺满整个屏幕。false:关闭全屏 → 恢复默认带系统栏的布局。

Logo

讨论HarmonyOS开发技术,专注于API与组件、DevEco Studio、测试、元服务和应用上架分发等。

更多推荐