首页 > 其他分享 >鸿蒙沉侵式导航状态栏

鸿蒙沉侵式导航状态栏

时间:2024-10-17 22:20:30浏览次数:9  
标签:currentRatio 沉侵式 状态栏 鸿蒙 win window isVisible 组件

沉浸式状态栏导航

一、概念

沉浸式状态栏是一种让应用与系统UI融合的设计手法,通常指状态栏透明或与应用背景色一致,使得应用界面看起来更加统一和流畅。

二、实现沉浸式状态栏的原因

  1. 提升视觉体验:减少视觉割裂感,增强沉浸感。
  2. 优化界面空间:隐藏状态栏或透明化状态栏,扩大应用内容区域。
  3. 减少用户干扰:让用户更专注于应用内容,避免状态栏信息的分散注意力。
  4. 符合设计趋势:提升应用的现代感与专业性。

三、实现方式

HarmonyOS (ArkTS)

第一步
直接在 入口函数的EntryAbility里面进行配置,开启全屏显示

// 开启全屏沉浸式导航模式
const win = windowStage.getMainWindowSync()
win.setWindowLayoutFullScreen(true)

// 获取顶部规避区域,并记录到 AppStorage 中
const top = win.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM)
  .topRect
AppStorage.setOrCreate<number>('safeTop', px2vp(top.height))
// 获取底部规避区域,并记录到 AppStorage 中
const bottom = win.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR)
  .bottomRect
AppStorage.setOrCreate<number>('safeBottom', px2vp(bottom.height))

放的位置:在这里插入图片描述

onWindowStageCreate
看一下前后效果
在这里插入图片描述

开启后在这里插入图片描述

开启后发现
组件占位被状态栏遮盖,以及下面的导航条,此时接着下一步

第二步

第一步我们不仅开启了全屏显示,其实还做了一件事就是我们获取并储存了顶部和底部的安全距离,
接下来就是在组件里用起来就

标签:currentRatio,沉侵式,状态栏,鸿蒙,win,window,isVisible,组件
From: https://blog.csdn.net/m0_75219675/article/details/142932100

相关文章

  • 鸿蒙签名发布
    申请发布证书,该证书不同于本地运行的调试证书,需要从华为平台申请。先在DevEcoStudioNEXTReleaseIDE中,构建-生成私钥和证书请求文件,创建私有秘钥和csr文件,记住别名和密码。然后访问下面的网址学习:https://infocenter.dra.agchosting.link/interactive/iteach.html#8426a9c8_......
  • 鸿蒙开发新姿势:应用与前端页面“说悄悄话”
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在鸿蒙开发中,我们经常会遇到应用侧(Ark......
  • 解析华为鸿蒙next:Web组件自适应布局与渲染模式详解
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。Web组件大小自适应页面内容布局使用......
  • 鸿蒙开发黑科技:前端页面轻松调用 ArkTS 函数
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。在鸿蒙开发中,前端页面(HTML)有时候需要......
  • 全方位探索华为鸿蒙ArkWeb:构建高性能跨平台新闻阅读应用
    本文旨在深入探讨华为鸿蒙HarmonyOSNext系统(截止目前API12)的技术细节,基于实际开发实践进行总结。主要作为技术分享与交流载体,难免错漏,欢迎各位同仁提出宝贵意见和问题,以便共同进步。本文为原创内容,任何形式的转载必须注明出处及原作者。一、引言:ArkWeb的优势与跨平台应用的......
  • 鸿蒙3D开发
    需求:创建一个按钮。按下按钮后,按钮需缩小并向手指方向倾斜。分析:可以使用 button 组件来实现该功能,其他组件也同样适用。按下按钮时需利用 .ontouch 事件。缩小效果通过 scale 属性的变化实现。为了确定手指的方向,我们可以在 .ontouch 事件中获取相关信息,具体包......
  • 鸿蒙 NEXT 如何使用 @Styles 装饰器来优化我的组件代码?
    大家好,我是V哥。在鸿蒙NEXT开发中,@Styles装饰器是一种非常有用的方法,用于定义可重用的样式。这使得开发者可以将多条样式设置提炼成一个方法,以便在多个组件中复用,从而提高代码的可维护性和可读性。以下是@Styles装饰器的详细用法和应用场景案例。@Styles装饰器的使用说明......
  • 鸿蒙开发教程主页tab带未读数
    鸿蒙开发教程主页tab带未读数鸿蒙的主页tab比Android的还要简单些,系统有直接提供一、思路:用Tabs和TabContent组件二、效果图:三、关键代码:@Entry@ComponentstructIndex{@StateselectedIndex:number=0//首页未读数@StateunreadNumHome:string='1'......
  • 如何在鸿蒙 NEXT 中使用 @Builder 装饰器优化 UI 组件的复用?
    在开发鸿蒙NEXT应用时,咱们需要经常创建自定义组件,由于自定义组件内部UI结构固定,仅与使用方进行数据传递,因此,ArkUI还提供了一种更轻量的UI元素复用机制@Builder。大家好,我是V哥,在鸿蒙NEXT开发中,@Builder装饰器是一种轻量级的UI元素复用机制,它允许开发者将重复使用......
  • 约80%开发效率提升,原生鸿蒙政务、文旅行业样板间专区上线
    10月8日,华为官方正式宣布,其最新操作系统HarmonyOSNEXT于当日10:08正式开启公测。为有效助力开发者加速行业应用开发,华为开发者联盟生态市场(简称生态市场)近日上线了原生鸿蒙政务行业、文旅行业“样板间”专区。政务和文旅行业作为数字化转型的重要领域,对数智应用的需求日益专业化......