1# 窗口子系统变更说明
2
3## cl.window.1 Orientation横屏行为变更
4
5**访问级别**
6
7公开接口
8
9**变更原因**
10
11应用通过配置在module.json中ability标签"orientation"或setPreferredOrientation接口设置横屏时,习惯性使用LANDSCAPE,此时会旋转到电源键在手机下方,与业界通用逻辑相反,不符合用户使用习惯,影响使用手机体验。
12
13**变更影响**
14
15该变更为非兼容性变更。
16此变更从OpenHarmony SDK 5.0.0.25,API 12及以后开始生效,API 11及之前保持原状。更改后应用设置LANDSCAPE横屏时,旋转方向会与更改前相反的方向。
17
18变更前后对比效果,如下图所示:
19| 变更前 | 变更后 |
20|---------|---------|
21| ![](figures/down.png) | ![](figures/up.png) |
22
23**起始 API Level**
24
259
26
27**变更发生版本**
28
29从OpenHarmony SDK 5.0.0.25开始。
30
31**变更的接口/组件**
32
33变更前后,应用设置横屏的效果对照表见如下表格。
34
35横屏效果对照表:
36|Orientation值| 变更前          | 变更后   |
37|-------| -------- | --------------- |
38|LANDSCAPE|  电源键向下    |  电源键向上   |
39|LANDSCAPE_INVERTED|  电源键向上    |  电源键向下  |
40|AUTO_ROTATION_LANDSCAPE|  电源键向下    |  电源键向上 |
41|AUTO_ROTATION_LANDSCAPE_RESTRICTED|  电源键向下    |  电源键向上   |
42|USER_ROTATION_LANDSCAPE   |  电源键向下   | 电源键向上   |
43|USER_ROTATION_LANDSCAPE_INVERTED|  电源键向上  |  电源键向下   |
44
45**适配指导**
46
47一、设置的横屏枚举值变更:
48
49(1) 更改前如果传入LANDSCAPE参数,更改后为保持相同的体验效果,需传入LANDSCAPE_INVERTED参数。
50
51(2) 更改前如果传入LANDSCAPE_INVERTED参数,更改后为保持相同的体验效果,需传入LANDSCAPE参数。
52
53(3) 更改前如果传入USER_ROTATION_LANDSCAPE参数,更改后为保持相同的体验效果,需传入USER_ROTATION_LANDSCAPE_INVERTED参数。
54
55(4) 更改前如果传入USER_ROTATION_LANDSCAPE_INVERTED参数,更改后为保持相同的体验效果,需传入USER_ROTATION_LANDSCAPE参数。
56
57二、监听的横屏方向变更:
58
59应用设置横屏后,屏幕发生旋转,旋转后通过监听display.on('change')可以获取display的orientation值,变更后display的orientation值也会跟着发生变化。
60
61(1) 当手机电源键在右侧时,displayOrientation更改前后变化对照表:
62|Orientation值| 变更前          | 变更后   |
63|-------| -------- | --------------- |
64|LANDSCAPE|  1    |  3   |
65|LANDSCAPE_INVERTED|  3    |  1  |
66|AUTO_ROTATION_LANDSCAPE|  1    |  3 |
67|AUTO_ROTATION_LANDSCAPE_RESTRICTED|  3    |  1   |
68|USER_ROTATION_LANDSCAPE   |  1   | 3   |
69|USER_ROTATION_LANDSCAPE_INVERTED|  3  |  1   |
70(2) 当手机电源键在左侧时,displayOrientation值与更改前保持一致。
71三、推荐的横屏枚举值:
72
73变更后推荐用户使用LANDSCAPE和USER_ROTATION_LANDSCAPE设置横屏
74