HarmonyOS 如何全局避让手机底部的导航栏?

HarmonyOS 如何全局避让手机底部的导航栏?

HarmonyOS
2024-10-16 10:13:56
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
put_get

HarmonyOS默认自动避让手机底部导航条,如果设置了setWindowLayoutFullScreen(true)设置了窗口全屏,可以在EntryAbility中获取并存储底部导航条高度:

onWindowStageCreate(windowStage: window.WindowStage) {  
  // Main window is created, set main page for this ability  
  hilog.info(0x0000, 'testTag', '%{public}s', 'Ability onWindowStageCreate');  
  windowStage.loadContent('pages/Index', (err, data) => {  
    if (err.code) {  
      hilog.error(0x0000, 'testTag', 'Failed to load the content. Cause: %{public}s', JSON.stringify(err) ?? '');  
      return;  
    }  
    hilog.info(0x0000, 'testTag', 'Succeeded in loading the content. Data: %{public}s', JSON.stringify(data) ?? '');  
    let windowClass = windowStage.getMainWindowSync()  
    let bottomHeight = windowClass.getWindowAvoidArea(window.AvoidAreaType.TYPE_NAVIGATION_INDICATOR).bottomRect.height  
    AppStorage.setOrCreate('bottomHeight',px2vp(bottomHeight));  
  });  
}

并在需要的界面的最外层布局添加margin ,比如:

column().margin({ bottom: AppStorage.get('bottomHeight') })
分享
微博
QQ
微信
回复
2024-10-16 17:29:46
相关问题
HarmonyOS 底部导航绘制问题
205浏览 • 1回复 待解决
Navigation如何隐藏导航
2086浏览 • 1回复 待解决
如何设置状态导航颜色
2783浏览 • 1回复 待解决
如何获取系统导航和状态高度
690浏览 • 1回复 待解决
如何获取状态导航高度?
13浏览 • 0回复 待解决
如何获取状态导航高度
2829浏览 • 1回复 待解决
关于sidebar侧边遮挡导航问题
319浏览 • 1回复 待解决
鸿蒙如何获取导航和状态高度
11249浏览 • 1回复 待解决
获取状态导航高度
508浏览 • 1回复 待解决
HarmonyOS 底部导航条沉浸式方案
207浏览 • 1回复 待解决
导航如何适配,有人知道吗?
1740浏览 • 0回复 待解决
状态底部触控高度获取
626浏览 • 2回复 待解决