HarmonyOS 导航栏高度和状态栏高度貌似不对
获取布局避让遮挡的区域。
// 获取状态栏高度
let statusHeight= AppUtils.windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height;
// 获取导航栏高度
let navHeight = AppUtils.windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect.height;
preferencesMgr.setNumber(PreferencesConstants.statusHeight, px2vp( statusHeight));
preferencesMgr.setNumber(PreferencesConstants.navHeight, px2vp( navHeight));
px2vp( statusHeight) 是38.76
px2vp( navHeight) 是28
是不是不对
导航栏应该是56吧
HarmonyOS
赞
收藏 0
回答 1
待解决
相关问题
如何获取状态栏和导航栏高度
3544浏览 • 1回复 待解决
鸿蒙如何获取导航栏和状态栏高度
11930浏览 • 1回复 待解决
获取状态栏与导航栏高度
1218浏览 • 1回复 待解决
如何获取系统导航栏和状态栏的高度
1598浏览 • 1回复 待解决
如何获取状态栏与导航栏高度?
905浏览 • 0回复 待解决
HarmonyOS 如何获取顶部状态栏高度以及底部导航区域高度
1249浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
465浏览 • 1回复 待解决
HarmonyOS 如何获取navbar的高度和状态栏高度
799浏览 • 1回复 待解决
状态栏和底部触控栏的高度获取
1465浏览 • 2回复 待解决
HarmonyOS API获取状态栏高度
515浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
1289浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
444浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
796浏览 • 1回复 待解决
获取状态栏高度的方法
2301浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度?
585浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
1302浏览 • 1回复 待解决
求获取状态栏高度等方法
8342浏览 • 1回复 待解决
状态栏的高度怎么获取呢
9911浏览 • 3回复 待解决
HarmonyOS 获取手机状态栏高度,返回高度数值偏大
783浏览 • 1回复 待解决
如何设置状态栏和导航栏的颜色
4002浏览 • 1回复 待解决
求大佬告知如何获取状态栏高度?
2704浏览 • 1回复 待解决
window. getWindowProperties获取的高度包括状态栏的高度吗?
539浏览 • 0回复 待解决
OpenHarmony在哪里修改状态栏和导航栏布局
4697浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
2518浏览 • 1回复 待解决
调用setWindowLayoutFullScreen实现了沉浸式透明状态栏,但未自动撑起状态栏的高度
2584浏览 • 1回复 待解决
px2vp( statusHeight) 是38.76
px2vp( navHeight) 是28
是正确的。
px2vp( navHeight) 28 对应的是屏幕底部有灰色横条的导航条高度,不是状态栏下面导航栏的高度。
您可以新建项目,
将EntryAbility的onWindowStageCreate替换为下面代码:
编译查看展示效果。
是获取导航条的高度。
导航条请参考下方链接中 图1 界面元素示意图
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-develop-apply-immersive-effects-V5
HarmonyOS的导航栏略有不同,是使用Navigation组件,具体您可以查看下方链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-guides-V5/arkts-navigation-navigation-V5
其他平台的是UINavigationController,导航栏高度NavigationBar是44,跳转新界面pushViewController就可以。
UINavigationController是上面是NavigationBar,下面是viewController的view。
HarmonyOS 用的是Navigation, 使用NavPathStack配合navDestination属性进行页面路由。
最外面的用Navigation(){}包起来,后面push的页面用navDestination(){}包起来。
Navigation第一个界面是首页,样式和其他平台的不太一样,后面push的界面才有类似的NavigationBar,叫titleBar,如果无法满足您的需求的话,您可以设置NavDestination(){}.hideTitleBar,隐藏标题栏,自定义。
下面是navDestination属性相关链接:
https://developer.huawei.com/consumer/cn/doc/harmonyos-references-V5/ts-basic-components-navdestination-V5#属性
调试阶段查看组件尺寸,您可以打开模拟器,编译项目,编译完成后点击IDE下方ArkUI Inspector窗口,点击'please select a debuggable process',选择对应模拟器与包名,点击对应组件,即可在右侧看到对应组件数据,包括宽高。
查看下来,titleBar高度(包含状态栏)为308px(94.76vp)。