HarmonyOS鸿蒙Next中如何设置应用屏幕方向

HarmonyOS鸿蒙Next中如何设置应用屏幕方向 在开发场景中,我们经常会遇到需要横屏的场景。那么我们如何设置应用横屏呢

一般情况下,设置应用横屏有两种方法,既可以在module.json5中设置,也可以在window中设置。

在module.json5中设置相对简单,只需要配置orientation属性即可,具体路径为

{
  "module": {
    "abilities": [
      "orientation": //属性值
    ]
  }
}

属性值有多种,具体可参阅:module.json5配置文件-应用配置文件(Stage模型)-开发基础知识-基础入门 - 华为HarmonyOS开发者

另外,还可以在window中设置,在EntryAbility的inWindowStageCreate获取到windowStage后使用全局变量或AppStorage存储起来,在需要调用的地方使用windowStage.getMainWindowSync()获取到windowClass后,使用windowClass.setPreferredOrientation(orientation)设置屏幕方向设置。

枚举值可以参考:Enums-@ohos.window (窗口)-窗口管理-ArkTS API-ArkUI(方舟UI框架)-应用框架 - 华为HarmonyOS开发者

鸿蒙开发学习:https://developer.huawei.com/consumer/cn/training/classDetail/6f173c0676a4477abe21ffcd1e782305?type=1%3Fha_source%3Dhmosclass&ha_sourceId=89000248


更多关于HarmonyOS鸿蒙Next中如何设置应用屏幕方向的实战教程也可以访问 https://www.itying.com/category-93-b0.html

2 回复

在HarmonyOS Next中设置应用屏幕方向,需在module.json5配置文件的abilities字段中配置orientation属性。支持的属性值包括:unspecified(系统默认方向)、landscape(固定横屏)、portrait(固定竖屏)等。例如,设置应用固定为横屏显示:在对应ability中添加"orientation": “landscape”。此配置将覆盖系统默认方向设置。

更多关于HarmonyOS鸿蒙Next中如何设置应用屏幕方向的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中设置应用屏幕方向确实有两种常用方式:

  1. module.json5配置:在abilities数组中添加orientation字段,支持以下枚举值:

    • “unspecified”(默认,由系统决定)
    • “landscape”(强制横屏)
    • “portrait”(强制竖屏)
    • “follow_recent”(跟随最近应用)
  2. 动态设置:通过WindowStage在运行时调整:

let windowClass = windowStage.getMainWindowSync();
windowClass.setPreferredOrientation(orientation);

支持的orientation值包括:

  • window.Orientation.PORTRAIT
  • window.Orientation.LANDSCAPE
  • window.Orientation.PORTRAIT_INVERTED
  • window.Orientation.LANDSCAPE_INVERTED
  • window.Orientation.AUTO_ROTATION

两种方法各有优势:module.json5配置适用于应用启动时的固定方向需求,而动态设置更适合在应用运行过程中根据场景切换方向。建议根据具体业务场景选择合适的方式。

回到顶部