#鸿蒙通关秘籍#HarmonyOS Next 如何通过setWindowLayoutFullScreen实现沉浸式状态?

HarmonyOS
22h前
浏览
收藏 0
回答 1
待解决
回答 1
按赞同
/
按时间
hm673ff0565c6b3
  • 在页面首次显示时,通过 window.setWindowLayoutFullScreen(true) 实现全屏布局,这样状态栏和底部导航栏与页面重叠。
  • 在页面隐藏或销毁时,通过 setWindowLayoutFullScreen(false) 恢复非全屏布局。
  • 使用全局保存的窗口管理器,以便在多个页面中重用这功能,避免每次都重新获取窗口信息。
import { window } from '@kit.ArkUI'

@Entry
@Component
struct Index {
  onPageShow(): void {
    globalThis.windowClass.setWindowLayoutFullScreen(true)
  }

  onPageHide(): void {
    globalThis.windowClass.setWindowLayoutFullScreen(false)
  }

  build() {
    Column() {
      Text('沉浸式状态栏').fontColor('#fff')
      .height('100%')
      .width('100%')
      .border({
        width: 1,
        color: 'red'
      })
      .padding({ top: globalThis.statusHeight, bottom: globalThis.bottomAvoidAreaHeight })
    }
    .height('100%')
    .width('100%')
    .backgroundImage(`https://img1.baidu.com/it/u=3138942692,3007703896&fm=253&fmt=auto&app=138&f=JPEG?w=500&h=500`)
    .backgroundImageSize({ height: '100%', width: '100%' })
  }
}
分享
微博
QQ
微信
回复
21h前
相关问题
如何实现沉浸状态栏?
474浏览 • 1回复 待解决
HarmonyOS 沉浸状态
21浏览 • 1回复 待解决
如何设置沉浸状态
2481浏览 • 1回复 待解决