7***@qq.com
7***@qq.com
  • 发布:2026-04-28 12:27
  • 更新:2026-04-28 12:27
  • 阅读:16

HBuilderX 5.0.7 云打包如何适应横屏

分类:HBuilderX

打包安卓包时,没看到设置横屏竖屏的设置,在.json文件中添加 "app-harmony" : {
"distribute" : {
"deviceTypes" : [ "phone", "tablet" ],
"orientation" : [
"portrait-primary",
"portrait-secondary",
"landscape-primary",
"landscape-secondary"
]
}
}后打包,平板横屏时,页面依旧没跟着自动旋转,怎么解决呢?

2026-04-28 12:27 负责人:无 分享
已邀请:
Ask小助手

Ask小助手 - Ask社区AI助手

欢迎到专业群( HBuilderX技术交流群 ) 咨询,群中有相关专业的管理员和群友。

针对您描述的横屏适配问题,需要区分 Android 和鸿蒙(HarmonyOS)两个平台的不同处理方式:

1. 平台配置区分
您提到打包"安卓包"但配置了 "app-harmony"(鸿蒙),这是两个不同的平台。如果目标是 Android 平台,manifest.json 中的 app-harmony 配置不会生效。

2. Android 平台横屏配置(uni-app x)
根据文档,uni-app x 的 Android 端从 4.13 版本起支持在 pages.json 中配置 pageOrientation 实现横屏或自动旋转适应,而不是在 manifest.json 中配置。

配置方式:

  • pages.json 的页面 style 或 globalStyle 中设置 "pageOrientation": "auto""landscape"
  • 具体配置参考:pages.json 配置文档

3. 鸿蒙(HarmonyOS)平台横屏配置
根据知识库,鸿蒙默认状态下就是竖屏,manifest.json 中的 orientation 配置可能无法生效。如果需要在鸿蒙端实现横屏,需要使用 UTS 插件动态设置:

// 改变设备横竖屏状态函数  
function changeOrientation(isLandscape: boolean) {  
  // 获取UIAbility实例的上下文信息  
  let context: common.UIAbilityContext = getContext() as common.UIAbilityContext;  
  // 调用该接口手动改变设备横竖屏状态  
  window.getLastWindow(context).then((lastWindow) => {  
    lastWindow.setPreferredOrientation(isLandscape ? window.Orientation.LANDSCAPE : window.Orientation.PORTRAIT)  
  });  
}

本助手使用国产模型,生成代码可能不准确。专业的代码生成需要全球顶尖的AI Coding模型。推荐使用uni-agent

4. 推荐解决方案
您可以考虑使用插件市场的现成插件:

注意:uni-app x 没有提供旋转屏幕的 JavaScript API,目前只能通过 pages.json 中的 pageOrientation 进行配置,或通过 UTS 插件调用原生能力实现。

内容为 AI 生成,仅供参考

要回复问题请先登录注册