HarmonyOS textReader事件监听中clickAuthor事件跳转原生页面,无法退出沉浸式

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

窗口管理不能对不同的页面进行统一的沉浸式设置,可以在需要页面的生命周期中进行设置,比如在AAAPage.ets里面示例:

aboutToAppear(): void {
  // let windowClass: window.Window = globalThis.window
  // windowClass.setWindowLayoutFullScreen(false)
}

onPageShow(): void {
    window.getLastWindow(getContext(this), (err, win) => {
    // 获取当前窗口的属性
    let prop: window.WindowProperties = win.getWindowProperties();
    // 打印当前窗口属性
    console.log('prop == ' + JSON.stringify(prop));
    console.log('prop isLayoutFullScreen == ' + prop.isLayoutFullScreen);
    // 设置当前窗口为非全屏
    win.setWindowLayoutFullScreen(false)
  })
}

// 页面生命周期:当页面隐藏时
onPageHide() {
  window.getLastWindow(getContext(this), (err, win) => {
    // 设置当前窗口为全屏
    win.setWindowLayoutFullScreen(true)
  })
}


// 或者您可以选择在TextReaderPage里面
TextReader.on('clickAuthor', (id: string) => {
  console.info(`onClickAuthor ${id}`)
  try {
    TextReader.hidePanel();
  } catch (e) {
    // LogUtils.error(TAG, `TextReader.hidePanel failed. Code: ${e.code}, message: ${e.message}`);
  }
  const newRouter = this.getUIContext().getRouter()
  newRouter.pushUrl({url: "pages/AAAPage"})
});
分享
微博
QQ
微信
回复
1天前
相关问题
HarmonyOS 页面返回事件如何监听
0浏览 • 1回复 待解决
HarmonyOS webview H5页面事件监听
41浏览 • 1回复 待解决
HarmonyOS 点击事件监听问题
17浏览 • 1回复 待解决
HarmonyOS 键盘事件监听问题
662浏览 • 1回复 待解决
HarmonyOS 无法接收事件
264浏览 • 1回复 待解决
鸿蒙 怎么监听开机事件
3262浏览 • 1回复 待解决
HarmonyOS 沉浸方案
270浏览 • 1回复 待解决
HarmonyOS connection监听断网事件
38浏览 • 1回复 待解决
HarmonyOS onPageShow事件无法触发
22浏览 • 1回复 待解决
HarmonyOS onPageShow事件无法触发
27浏览 • 1回复 待解决