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
待解决
相关问题
如何获取状态栏和导航栏高度
2919浏览 • 1回复 待解决
鸿蒙如何获取导航栏和状态栏高度
11423浏览 • 1回复 待解决
获取状态栏与导航栏高度
647浏览 • 1回复 待解决
如何获取系统导航栏和状态栏的高度
829浏览 • 1回复 待解决
如何获取状态栏与导航栏高度?
247浏览 • 0回复 待解决
HarmonyOS 如何获取navbar的高度和状态栏高度
406浏览 • 1回复 待解决
HarmonyOS 如何获取顶部状态栏高度以及底部导航区域高度
762浏览 • 1回复 待解决
状态栏和底部触控栏的高度获取
905浏览 • 2回复 待解决
HarmonyOS API获取状态栏高度
300浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
625浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
395浏览 • 1回复 待解决
获取状态栏高度的方法
1987浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度?
177浏览 • 1回复 待解决
HarmonyOS 如何获取系统状态栏高度?
835浏览 • 1回复 待解决
状态栏的高度怎么获取呢
9679浏览 • 3回复 待解决
HarmonyOS 获取手机状态栏高度,返回高度数值偏大
379浏览 • 1回复 待解决
求获取状态栏高度等方法
8090浏览 • 1回复 待解决
如何设置状态栏和导航栏的颜色
2945浏览 • 1回复 待解决
求大佬告知如何获取状态栏高度?
2376浏览 • 1回复 待解决
OpenHarmony在哪里修改状态栏和导航栏布局
4081浏览 • 1回复 待解决
window. getWindowProperties获取的高度包括状态栏的高度吗?
257浏览 • 0回复 待解决
调用setWindowLayoutFullScreen实现了沉浸式透明状态栏,但未自动撑起状态栏的高度
2135浏览 • 1回复 待解决
有谁知道如何获取状态栏高度
2243浏览 • 1回复 待解决
HarmonyOS 沉浸式设置底部状态栏高度变化问题
39浏览 • 1回复 待解决
#鸿蒙学习大百科#如何设置监听,动态获取避让区(状态栏、底部导航栏)的高度?
330浏览 • 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)。