鸿蒙开发之屏幕旋转
·
简介
移动设备在用户手中可以任意改变握持方向。在特定场景下,应用需要根据用户握持的方向调整显示页面,或者主动指定在固定方向显示页面,以提供更好的用户体验。比如,双手操作的游戏更倾向于在横屏显示,视频类应用更倾向于在全屏播放和小窗播放间自由切换。
设备有四个显示方向:当用户正向握持设备时,若屏幕的宽度大于高度时,称为横屏(LANDSCAPE),与之倒置的方向则称为反向横屏(LANDSCAPE_INVERTED);若屏幕高度大于宽度时,称为竖屏(PORTRAIT),与之倒置的方向称为反向竖屏(PORTRAIT_INVERTED)
常用的旋转策略
| 名称 | 值 | 说明 |
|---|---|---|
| PORTRAIT | 1 | 表示竖屏显示模式。 |
| LANDSCAPE | 2 | 表示横屏显示模式。 |
| PORTRAIT_INVERTED | 3 | 表示反向竖屏显示模式。 |
| LANDSCAPE_INVERTED | 4 | 表示反向横屏显示模式。 |
更多详细旋转策略可以查阅官方文档
点击跳转官方文档
设置旋转策略
原理 1.调用 setRequestedOrientation() 方法设置旋转策略 2.在 module.json5 配置文件中配置"orientation"字段
调用 setRequestedOrientation() 方法设置旋转策略
可以在页面 aboutToAppear 生命周期设置在特定页面直线横屏
//获取 UIAbilityContext
const context: common.UIAbilityContext =
this.getUIContext().getHostContext() as common.UIAbilityContext;
//获取该WindowStage实例下的主窗口
const MainWindow = context.windowStage.getMainWindowSync();
// 旋转策略
const orient = window.Orientation.LANDSCAPE;
// 在setPreferredOrientation设置旋转策略
MainWindow.setPreferredOrientation(orient);
在 model.json5 配置
在 module.json5 的配置为全局配置
更多推荐
所有评论(0)