HarmonyOS 调用 getWindowAvoidArea 方法无法获取到底部导航栏高度

getWindowAvoidArea方法无法获取到底部导航栏高度,返回高度为0。代码如下:

nWindowStageCreate(windowStage: window.WindowStage): void {  
    // Main window is created, set main page for this ability  
    hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');  
    let windowClass: window.Window;  
    windowStage.getMainWindow((err, data) => {  
      // 1.获取应用主窗口  
      windowClass = data;  
      // 2.设置导航栏、状态栏显示。  
      // 3.设置全屏  
      windowClass.setWindowLayoutFullScreen(true).then(() => {  
      })  
      // 4.获取底部导航栏高度,此时的高度单位是px  
      let navigationHeight = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).bottomRect.height  
      let navHeightVp = px2vp(navigationHeight)  
      console.error(`获取导航栏高度:${navigationHeight}--${navHeightVp}`)  
    })  
  }
HarmonyOS
2024-10-16 09:10:35
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
superinsect

手机屏幕上面有电量的是状态栏,可以用windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM).topRect.height 获取高度。

下面带横条的是导航栏,可以用windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect.height 获取高度。

分享
微博
QQ
微信
回复
2024-10-16 16:45:47
相关问题
获取状态导航高度
570浏览 • 1回复 待解决
怎样获取底部菜单高度
1916浏览 • 1回复 待解决
如何获取状态导航高度
174浏览 • 0回复 待解决
如何获取状态导航高度
2874浏览 • 1回复 待解决
鸿蒙如何获取导航和状态高度
11326浏览 • 1回复 待解决
状态底部触控高度获取
764浏览 • 2回复 待解决
如何获取系统导航和状态高度
774浏览 • 1回复 待解决
获取状态高度方法
1930浏览 • 1回复 待解决
list组件无法滚动到底部
1181浏览 • 1回复 待解决
获取状态高度方法
8019浏览 • 1回复 待解决
调用 window.getWindowAvoidArea 时抛出异常
1768浏览 • 1回复 待解决
HarmonyOS 如何获取状态高度
526浏览 • 1回复 待解决
HarmonyOS API获取状态高度
252浏览 • 1回复 待解决