HarmonyOS 为什么状态栏的显隐切换,高度值并没有实时生效?会导致下一个界面的标题和状态栏重叠

在onpageshow中将状态栏从显性切换到隐形,此时获取状态栏高度为128。HarmonyOS 为什么状态栏的显隐切换,高度值并没有实时生效?会导致下一个界面的标题和状态栏重叠 -鸿蒙开发者社区

在onwillhide中将状态栏从隐型切换到显形,此时获取状态栏高度为0。

HarmonyOS 为什么状态栏的显隐切换,高度值并没有实时生效?会导致下一个界面的标题和状态栏重叠 -鸿蒙开发者社区

HarmonyOS
1天前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
aquaa

参考Demo如下:

Index页

import { router } from '@kit.ArkUI'
@Entry
@Component
struct Index {
  build() {
    Column(){
      Button($r('app.string.Button_text')).onClick((event: ClickEvent) => {
        router.pushUrl({
          url: 'pages/Test'
        })
      })
    }
  }
}

Test页

import { router, window } from '@kit.ArkUI'
import I18n from '@ohos.i18n';
@Entry
@Component
struct Test {
  aboutToAppear(): void {
    window.getLastWindow(getContext(this)).then((win)=>{
      win.setWindowSystemBarEnable([])
      console.info('状态栏高度:'+
      win.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM)
        .topRect
        .height
      )
    })
  }
  onPageHide(): void {
    window.getLastWindow(getContext(this)).then((win)=>{
      win.setWindowSystemBarEnable(['status','navigation'])
      console.info('状态栏高度:'+
      win.getWindowAvoidArea(window.AvoidAreaType.TYPE_SYSTEM)
        .topRect
        .height
      )
    })
    try {
      I18n.System.setAppPreferredLanguage('en-Latn-US');
    } catch (err) {
      console.error(`Failed to set the system locale. message:${err.message}, code:${err.code}`);
    }
  }
  build() {
    Column(){
      Column(){
        Button('返回').onClick((event: ClickEvent) => {
          router.back()
        })
      }
    }
  }
}
分享
微博
QQ
微信
回复
1天前
相关问题
如何获取状态栏导航高度
2942浏览 • 1回复 待解决
沉侵式状态栏获取状态栏高度为0
435浏览 • 1回复 待解决
HarmonyOS 获取状态栏高度
34浏览 • 1回复 待解决
鸿蒙如何获取导航状态栏高度
11460浏览 • 1回复 待解决
获取状态栏与导航高度
683浏览 • 1回复 待解决
如何获取系统导航状态栏高度
868浏览 • 1回复 待解决
状态栏底部触控高度获取
964浏览 • 2回复 待解决
获取状态栏高度方法
2000浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
32浏览 • 1回复 待解决
HarmonyOS API获取状态栏高度
326浏览 • 1回复 待解决
HarmonyOS 如何获取状态栏高度
668浏览 • 1回复 待解决
uiextension为什么不会避让顶部状态栏
798浏览 • 1回复 待解决
如何获取状态栏与导航高度
270浏览 • 0回复 待解决
HarmonyOS 修改状态栏颜色不生效
337浏览 • 1回复 待解决
状态栏高度怎么获取呢
9700浏览 • 3回复 待解决
HarmonyOS 如何获取系统状态栏高度
857浏览 • 1回复 待解决
HarmonyOS 如何获取手机状态栏高度
193浏览 • 1回复 待解决