HarmonyOS 让部分页面沉浸式,部分不沉浸式显示?

自己的页面是沉浸式显示

所以在 EntryAbility 设置了

windowStage.getMainWindow((err, windowClass) => {
  windowClass.setWindowLayoutFullScreen(true)
  windowClass.setWindowSystemBarEnable(['navigation'])
})

但是,跳转到app页面后,app页面,也会沉浸式显示,顶部返回按钮都快看不见了,能否手动或者设置让部分页面设置沉浸式显示, 部分页面一般的显示

阅读 488
1 个回答

可以在需要页面的生命周期里设置,不需要时隐藏,代码如下

// 页面生命周期:当页面显示时
onPageShow() {
  window.getLastWindow(getContext(this), (err, win) => {
    // 获取当前窗口的属性
    let prop: window.WindowProperties = win.getWindowProperties();
    // 打印当前窗口属性
    console.log(JSON.stringify(prop));
    win.setWindowSystemBarEnable([])
  })
}

// 页面生命周期:当页面隐藏时
onPageHide() {
  window.getLastWindow(getContext(this), (err, win) => {
    // 设置当前窗口状态栏和导航栏为显示
    win.setWindowSystemBarEnable(['status', 'navigation']);
  })
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进