HarmonyOS 鸿蒙Next中横屏后怎么让它全屏显示

HarmonyOS 鸿蒙Next中横屏后怎么让它全屏显示

如图,横屏后,它自动把上一个页面也给显示在左边的,怎么别让它显示出来。

image.png


更多关于HarmonyOS 鸿蒙Next中横屏后怎么让它全屏显示的实战教程也可以访问 https://www.itying.com/category-93-b0.html

3 回复
  • 若使用Navigation容器,配置.mode(NavigationMode.Stack)强制单栏模式:
Navigation(this.pageStack)
  .mode(NavigationMode.Stack) // 避免分栏布局
  • 还是AI好用,直接问AI,就告诉我答案了。

更多关于HarmonyOS 鸿蒙Next中横屏后怎么让它全屏显示的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html


在HarmonyOS Next中实现横屏全屏显示,需在config.json中配置屏幕方向为"landscape",并在对应Ability的onWindowStageCreate生命周期中添加以下代码:

import window from '@ohos.window';

onWindowStageCreate(windowStage: window.WindowStage) {
  let windowClass = windowStage.getMainWindow();
  windowClass.then(window => {
    window.setFullScreen(true);
    window.setPreferredOrientation(window.Orientation.LANDSCAPE);
  });
}

同时确保在module.json5中声明了"ohos.permission.WINDOW_MANAGER_MISSION_CONTROL"权限。

在HarmonyOS Next中实现横屏全屏显示,可以通过以下方式解决:

  1. 在config.json中配置页面方向:
"abilities": [
  {
    "orientation": "landscape"
  }
]
  1. 代码中强制设置横屏:
import window from '@ohos.window';

// 获取当前窗口并设置横屏
let windowClass = await window.getLastWindow(this.context);
windowClass.setPreferredOrientation(window.Orientation.LANDSCAPE);
  1. 隐藏导航栏实现全屏:
windowClass.setWindowSystemBarEnable(["status","navigation"]);
  1. 如果需要完全自定义布局,可以在onWindowStageCreate中设置:
onWindowStageCreate(windowStage: window.WindowStage) {
  windowStage.loadContent('pages/Index', (err) => {
    if (err.code) {
      return;
    }
    windowStage.getMainWindow().then((window) => {
      window.setFullScreen(true);
    });
  });
}

这些方法可以确保应用在横屏时完全占据整个屏幕,不会显示其他页面内容。

回到顶部