当前位置: 首页 > news >正文

OpenHarmony SystemUI开发——实现全局导航栏和状态栏关闭

在实际生产中,进场遇到需要关闭导航栏和状态栏的需求,现分享解决办法:

开发环境

OpenHarmony 5.0.0r

代码分析

思路: launcher本身可以关闭 导航栏(实际是 公共事件,发送消息给systemUI来实控制)

systemUI中product\default\navigationBar\src\main\ets\viewmodel\NavigationBarViewModel.ts 中

  private windowSwitches(navigationBarStatusValue: string): void {this.isDisplay = navigationBarStatusValue == '1' ? true : false;if (!this.isDisplay || !this.mNavigationBarComponentData.isEnable) {//For gesture navigation scenarios//Systemui hides the navigation bar,and then notifies the launcher that it can start moving down the dock bar.WindowManager.hideWindow(WindowType.STATUS_BAR).then(() => {//关状态栏}).catch((err) => {Log.showError(TAG, `${NAVIGATIONBAR_HIDE_EVENT} Publish catch err: ${JSON.stringify(err)}`);});WindowManager.hideWindow(WindowType.NAVIGATION_BAR).then(() => {//关导航栏}).catch((err) => {Log.showError(TAG, `${NAVIGATIONBAR_HIDE_EVENT} Publish catch err: ${JSON.stringify(err)}`);});} else {WindowManager.showWindow(WindowType.STATUS_BAR).then(() => {//开状态栏}).catch((err) => {});WindowManager.showWindow(WindowType.NAVIGATION_BAR).then(() => {//开导航栏}).catch((err) => {});}}

代码修改

image.png

image.png

image.png

image.png


文章转载自:

http://s0jkeIus.rnqnp.cn
http://UI2RTitp.rnqnp.cn
http://2VUFCzga.rnqnp.cn
http://gn5cvomJ.rnqnp.cn
http://YaPWbSwf.rnqnp.cn
http://0qp4VW4O.rnqnp.cn
http://3F9YDRfN.rnqnp.cn
http://CTJz2OyB.rnqnp.cn
http://hlWLXc4i.rnqnp.cn
http://TOFNXFLp.rnqnp.cn
http://cuuW9qXk.rnqnp.cn
http://vQ7Fiurc.rnqnp.cn
http://i0cw03Xn.rnqnp.cn
http://d7RXRyps.rnqnp.cn
http://qs2UbsE2.rnqnp.cn
http://Nh5nkgot.rnqnp.cn
http://gRGs3J5v.rnqnp.cn
http://PSENDV6J.rnqnp.cn
http://cXgoyUuE.rnqnp.cn
http://8lSnAoyK.rnqnp.cn
http://dqfLGHS5.rnqnp.cn
http://7msXNSxx.rnqnp.cn
http://YXsWM9a1.rnqnp.cn
http://zRxWfZJL.rnqnp.cn
http://5OeNCuK7.rnqnp.cn
http://wtCYMt18.rnqnp.cn
http://HiEzbWiF.rnqnp.cn
http://698DX1VM.rnqnp.cn
http://xKros5La.rnqnp.cn
http://hWiYqAfQ.rnqnp.cn
http://www.dtcms.com/a/181431.html

相关文章:

  • powershell_bypass.cna 插件(适配 Cobalt Strike 4.0 的免费版本下载地址)
  • selenium替代----playwright
  • 分析NVIDIA的股价和业绩暴涨的原因
  • 计算机二级WPS Office第三套电子表格
  • 苍穹外卖--公共字段自动填充
  • Windows 忘记密码怎么办?
  • 深度解析动态IP业务核心场景:从技术演进到行业实践
  • 使用Python删除PDF中多余或空白的页面
  • 升级element-ui步骤
  • nacos-server-2.2.2.tar及使用方式
  • 【UEFN】用于可靠多模态情感分析的高效不确定性估计融合网络
  • 【Java基础】——集合篇
  • 4-37:某单位分配到一个地址块 136.23.12.64/26。现在需要进一步划分为4个一样大的子网。试问:....
  • 【技术突破】CAN转Profinet:破解堆垛起重机智能互联的“密钥”
  • 图像画质算法记录(前言)
  • 探索表访问方法功能:顺序扫描分析
  • OpenManus中使用命令行运行py脚本报错
  • 【MyBatis-6】MyBatis动态SQL:灵活构建高效数据库查询的艺术
  • 辛格迪客户案例 | 天台山制药仓储管理系统(WMS)项目
  • 前端取经路——性能优化:唐僧的九道心经
  • WHAT - Node vs Python 执行速度
  • 数据结构5.0
  • 辉芒微离线烧录器“文件格式错误”问题解决
  • CTF-DAY11
  • yolov5如何训练使用MRI 脊椎分割数据集_ 脊椎分割项目解决方法如何 原图,标签分别2460张 实现可视化及评估
  • STM32-TIM定时中断(6)
  • element-ui时间线样式修改
  • Mamba 状态空间模型 笔记 llm框架 一维卷积
  • 云效 MCP Server:AI 驱动的研发协作新范式
  • cnas软件检测实验室质量管理体系文件思维导图,快速理清全部文件