赞
踩
一、全局横竖屏设置,在module.json5下,对当前UIAbility配置orientation,如下:
- {
- "module": {
- "name": "entry",
- "type": "entry",
- ...
- "abilities": [
- {
- "name": "EntryAbility",
- ...
- "orientation": "auto_rotation",
- ...
- }
- ]
- }
- }
orientation属性列表如下:
orientation属性 | 描述 |
unspecified | 未指定方向,由系统自动判断显示方向 |
landscape | 横屏 |
portrait | 竖屏 |
landscape_inverted | 反向横屏 |
portrait_inverted | 反向竖屏 |
auto_rotation | 随传感器旋转 |
auto_rotation_landscape | 传感器横屏旋转,包括横屏和反向横屏 |
auto_rotation_portrait | 传感器竖屏旋转,包括竖屏和反向竖屏 |
auto_rotation_restricted | 传感器开关打开,方向可随传感器旋转 |
auto_rotation_landscape_restricted | 传感器开关打开,方向可随传感器旋转为横屏, 包括横屏和反向横屏 |
auto_rotation_portrait_restricted | 传感器开关打开,方向随可传感器旋转为竖屏, 包括横屏和反向横屏 |
locked | 传感器开关关闭,方向锁定 |
二、对单个Entry,自定义页面设置横竖屏
在页面内通过 Window 对象的 setPreferredOrientation() 方法实现横竖屏切换,如下:
- @Component
- @Entry
- struct DemoPage {
- ...
-
- aboutToAppear(): void {
- let context = getContext(this) as common.UIAbilityContext
- window.getLastWindow(context).then((lastWindow)=> {
- lastWindow.setPreferredOrientation(window.Orientation.LANDSCAPE)
- })
- }
- }
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。