HarmonyOS 在page页面怎么动态控制是否全屏?

正常加载在onWindowStageCreate 是可以通过setWindowLayoutFullScreen 控制是否全屏的。

现在想在page页面控制全屏和不全屏,通过setWindowLayoutFullScreen 这个方法好像不生效。

此方法是在EntryAbility中写的,我是通过emit 进行订阅,然后调用 setWindowLayoutFullScreen 的。目前发现不生效,有什么方案可以在page页面也能够控制全屏和关闭全屏。

阅读 482
1 个回答

请参考如下代码

setFullScreen(isLayoutFullScreen:boolean){
  window.getLastWindow(getContext(this)).then((win)=>{
    win.setWindowLayoutFullScreen(isLayoutFullScreen).then(()=>{
      console.log("设置成功")
    })
  }).catch((err: BusinessError) => {
    console.log('setWindowOrientation: Failed to obtain the top window. Cause: ' + JSON.stringify(err));
  });
}

Button("设置为全屏").onClick(()=>{
  this.setFullScreen(true)
})
}.width("100%")
}
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进