写点什么

如何实现仅对应用中某几个页面设置横竖屏旋转自适应?

  • 2026-02-10
    北京
  • 本文字数:367 字

    阅读完需:约 1 分钟

本问答帖原创发布在华为开发者联盟社区 ,欢迎开发者前往论坛提问交流。

问题描述:

HarmonyOS 应用开发中,可以通过把 module.json5 文件中 abilities 的 orientation 属性设置全局屏幕旋转自适应。但是如果想仅对某几个页面起效,即这几个页面实现屏幕旋转自适应,其他页面都固定横屏或竖屏,该怎么实现呢?

解决方案:

1. module.json5 的 abilities 中的 orientation 不设置为 auto_rotation(设置为你需要的常规翻转方向或者默认 unspecified 都可以)

2. 在 onWindowStageCreate 中获取并保存 window 实例(window Class)

3. 在需要翻转自适应的页面生命周期函数中设置显示方向属性,并在页面销毁时将是否可旋转设置成原来的状态,避免影响其他页面。

参考 demo 和其他解决方案相关的讨论,请点击原帖查看:

关于 HarmonyOS 应用屏幕翻转自适应问题-华为开发者问答 | 华为开发者联盟 (huawei.com)