README.md

SetWindowSystemBarEnable简介

介绍

在看视频、玩游戏等场景下,用户往往希望隐藏状态栏、导航栏等不必要的系统窗口,从而获得更佳的沉浸式体验。此时可以借助窗口沉浸式能力(窗口沉浸式能力都是针对应用主窗口而言的),达到预期效果。

效果预览

桌面 主窗口 交互
image image image

使用说明

  1. 点击页面交互

工程目录

entry/src/main/ets/
|---main
|   |---ets
|   |   |---entryability
|   |   |   |---EntryAbility.ets           // 创建主窗口
|   |   |---entrybackupability
|   |   |---pages
|   |   |   |---Index.ets                  // 主窗口页面
|   |---resources
|   |---module.json5                       
|---ohosTest
|   |---ets 
|   |   |---test
|   |   |   |---Ability.test.ets           // 自动化测试代码

具体实现

设置窗口沉浸式的方法在EntryAbility中,源码参考:EntryAbility.ets

  • 使用getMainWindow获取到主窗口;
  • 使用setWindowSystemBarEnable设置导航栏、状态栏不显示;
  • 使用setWindowLayoutFullScreen设置窗口为全屏布局,配合设置导航栏、状态栏的透明度、背景/文字颜色及高亮图标等属性。

主窗口加载的页面在Index中实现,源码参考:Index.ets

相关权限

不涉及

依赖

不涉及

约束与限制

1.本示例仅支持标准系统上运行, 支持设备:华为手机、平板。

2.本示例为Stage模型,支持API Version 20及以上版本SDK。

3.本示例需要使用DevEco Studio 5.0.5 Release及以上版本才可编译运行。

下载

如需单独下载本工程,执行如下命令:

git init
git config core.sparsecheckout true
echo ArkUISample/ArkUIWindowSamples/SetWindowSystemBarEnable > .git/info/sparse-checkout
git remote add origin https://gitcode.com/harmonyos_samples/guide-snippets.git
git pull origin master