uniapp 如何强制设置竖屏显示

在uniapp开发中,如何强制让应用始终保持竖屏显示?尝试在pages.json里配置"orientation": "portrait"后,部分安卓设备仍会横屏。是否有更可靠的全局锁定竖屏方案?需要兼容iOS和主流安卓机型。

2 回复

pages.json 中配置:

{
  "globalStyle": {
    "pageOrientation": "portrait"
  }
}

或在单个页面中设置:

{
  "pages": [{
    "path": "pages/index/index",
    "style": {
      "pageOrientation": "portrait"
    }
  }]
}

在 UniApp 中,可以通过配置 pages.json 文件强制设置应用为竖屏显示。以下是具体步骤:

  1. 全局配置竖屏
    pages.jsonglobalStyle 或具体页面配置中添加 "pageOrientation": "portrait"

    {
      "globalStyle": {
        "pageOrientation": "portrait"
      }
    }
    
  2. 单页面配置竖屏
    若需仅对特定页面生效,在对应页面的 style 中配置:

    {
      "pages": [
        {
          "path": "pages/index/index",
          "style": {
            "pageOrientation": "portrait"
          }
        }
      ]
    }
    
  3. 原生配置补充(如需全平台强制生效)

    • Android:在 manifest.json"app-plus" -> "screenOrientation" 中设置 ["portrait-primary"]
    • iOS:同样在 manifest.json"app-plus" 中配置 "screenOrientation": ["portrait"]

示例 manifest.json 配置

{
  "app-plus": {
    "screenOrientation": [
      "portrait-primary"  // Android
      "portrait"         // iOS
    ]
  }
}

注意事项

  • 仅配置 pages.json 可能对部分原生组件无效,需结合 manifest.json 设置。
  • 微信小程序等平台默认锁定竖屏,无需额外配置。

通过以上配置,即可强制应用保持竖屏显示。

回到顶部