1# Enums 2<!--Kit: ArkUI--> 3<!--Subsystem: Window--> 4<!--Owner: @waterwin--> 5<!--Designer: @nyankomiya--> 6<!--Tester: @qinliwen0417--> 7<!--Adviser: @ge-yafang--> 8 9> **说明:** 10> 11> 本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。 12 13## WindowType<sup>7+</sup> 14 15窗口类型枚举。 16 17**系统能力:** SystemCapability.WindowManager.WindowManager.Core 18 19| 名称 | 值 | 说明 | 20|-------------------------------------| ------ |----------------------------------------------------------------------------------------| 21| TYPE_APP | 0 | 表示应用子窗口。<br>**模型约束:** 此接口仅可在FA模型下使用。 | 22| TYPE_SYSTEM_ALERT<sup>(deprecated)</sup> | 1 | 表示系统告警窗口。<br>- **说明:** 从API version 11开始废弃。<br>- 从API version 7开始支持。 | 23| TYPE_FLOAT<sup>9+</sup> | 8 | 表示悬浮窗。<br>**模型约束:** 此接口仅可在Stage模型下使用。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 24| TYPE_DIALOG<sup>10+</sup> | 16 | 表示模态窗口。<br>**模型约束:** 此接口仅可在Stage模型下使用。 <br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 25| TYPE_MAIN<sup>18+</sup> | 32 | 表示应用主窗口。<br>此窗口类型不支持在创建窗口时使用,仅可在getWindowProperties接口的返回值中用于读取。 | 26 27## AvoidAreaType<sup>7+</sup> 28 29窗口内容需要规避区域的类型枚举。 30 31**系统能力:** SystemCapability.WindowManager.WindowManager.Core 32 33**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 34 35| 名称 | 值 | 说明 | 36| -------------------------------- | ---- | ------------------------------------------------------------ | 37| TYPE_SYSTEM | 0 | 表示系统默认区域。<!--RP11-->包含状态栏和三键导航栏区域。<!--RP11End--> | 38| TYPE_CUTOUT | 1 | 表示刘海屏区域。 | 39| TYPE_SYSTEM_GESTURE<sup>9+</sup> | 2 | 表示手势区域。当前,各设备均无此类型避让区域。 | 40| TYPE_KEYBOARD<sup>9+</sup> | 3 | 表示软键盘区域。 | 41| TYPE_NAVIGATION_INDICATOR<sup>11+</sup> | 4 | 表示底部导航区域。<!--RP12-->OpenHarmony各设备不支持此能力。<!--RP12End--> | 42 43## Orientation<sup>9+</sup> 44 45窗口显示方向类型枚举。<!--Del-->不同枚举值之间的区别可查询[窗口Orientation枚举值8\~10或12和枚举值13\~16的区别(API9)](../../faqs/faqs-window-manager.md#窗口orientation枚举值810或12和枚举值1316的区别api9)。<!--DelEnd--> 46 47| 名称 | 值 | 说明 | 48| ------------------------------------- | ---- | ----------------------------- | 49| UNSPECIFIED | 0 | 表示未定义方向模式,由系统判定。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 50| PORTRAIT | 1 | 表示竖屏显示模式。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core<br> **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。| 51| LANDSCAPE | 2 | 表示横屏显示模式。<br> **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 52| PORTRAIT_INVERTED | 3 | 表示反向竖屏显示模式。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core<br> **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 53| LANDSCAPE_INVERTED | 4 | 表示反向横屏显示模式。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core<br> **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 54| AUTO_ROTATION | 5 | 跟随传感器自动旋转,可以旋转到竖屏、横屏、反向竖屏、反向横屏四个方向。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core<br> **原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。| 55| AUTO_ROTATION_PORTRAIT | 6 | 跟随传感器自动竖向旋转,可以旋转到竖屏、反向竖屏,无法旋转到横屏、反向横屏。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 56| AUTO_ROTATION_LANDSCAPE | 7 | 跟随传感器自动横向旋转,可以旋转到横屏、反向横屏,无法旋转到竖屏、反向竖屏。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core。<br> **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 57| AUTO_ROTATION_RESTRICTED | 8 | 跟随传感器自动旋转,可以旋转到竖屏、横屏、反向竖屏、反向横屏四个方向,且受控制中心的旋转开关控制。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core<br> **原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。| 58| AUTO_ROTATION_PORTRAIT_RESTRICTED | 9 | 跟随传感器自动竖向旋转,可以旋转到竖屏、反向竖屏,无法旋转到横屏、反向横屏,且受控制中心的旋转开关控制。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 59| AUTO_ROTATION_LANDSCAPE_RESTRICTED | 10 | 跟随传感器自动横向旋转,可以旋转到横屏、反向横屏,无法旋转到竖屏、反向竖屏,且受控制中心的旋转开关控制。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 60| LOCKED | 11 | 表示锁定模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 61| AUTO_ROTATION_UNSPECIFIED<sup>12+</sup> | 12 | 跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定(如在某种设备,可以旋转到竖屏、横屏、反向横屏三个方向,无法旋转到反向竖屏)。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 62| USER_ROTATION_PORTRAIT<sup>12+</sup> | 13 | 调用时临时旋转到竖屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 63| USER_ROTATION_LANDSCAPE<sup>12+</sup> | 14 | 调用时临时旋转到横屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 64| USER_ROTATION_PORTRAIT_INVERTED<sup>12+</sup> | 15 | 调用时临时旋转到反向竖屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 65| USER_ROTATION_LANDSCAPE_INVERTED<sup>12+</sup> | 16 | 调用时临时旋转到反向横屏,之后跟随传感器自动旋转,受控制中心的旋转开关控制,且可旋转方向受系统判定。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 66| FOLLOW_DESKTOP<sup>12+</sup> | 17 | 表示跟随桌面的旋转模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。<br> **系统能力:** SystemCapability.Window.SessionManager| 67 68## RectChangeReason<sup>12+</sup> 69 70窗口矩形(窗口位置及窗口大小)变化的原因。 71 72**系统能力:** SystemCapability.Window.SessionManager 73 74**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 75 76| 名称 | 值 | 说明 | 77| --------------------- | ---- | ------------------------------------------------------------ | 78| UNDEFINED | 0 | 默认值。 | 79| MAXIMIZE | 1 | 窗口最大化。 | 80| RECOVER | 2 | 窗口恢复到上一次的状态。 | 81| MOVE | 3 | 窗口拖拽移动。 | 82| DRAG | 4 | 窗口拖拽缩放。 | 83| DRAG_START | 5 | 窗口开始拖拽缩放。 | 84| DRAG_END | 6 | 窗口结束拖拽缩放。 | 85 86## ColorSpace<sup>8+</sup> 87 88色域模式。 89 90**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 91 92**系统能力:** SystemCapability.WindowManager.WindowManager.Core 93 94| 名称 | 值 | 说明 | 95| ---------- | ------ | -------------- | 96| DEFAULT | 0 | 默认SRGB色域模式。 | 97| WIDE_GAMUT | 1 | 广色域模式。 | 98 99## WindowEventType<sup>10+</sup> 100 101窗口生命周期。 102 103**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 104 105| 名称 | 值 | 说明 | 106| ---------- | ------ | ---------- | 107| WINDOW_SHOWN | 1 | 切到前台。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 108| WINDOW_ACTIVE | 2 | 获焦状态。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 109| WINDOW_INACTIVE | 3 | 失焦状态。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 110| WINDOW_HIDDEN | 4 | 切到后台。<br> **系统能力:** SystemCapability.WindowManager.WindowManager.Core| 111| WINDOW_DESTROYED<sup>11+</sup> | 7 | 窗口销毁。<br> **系统能力:** SystemCapability.Window.SessionManager| 112 113## WindowStatusType<sup>11+</sup> 114 115窗口模式枚举。 116 117**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 118 119**系统能力:** SystemCapability.Window.SessionManager 120 121| 名称 | 值 | 说明 | 122| ---------- | ---- | ----------------------------- | 123| UNDEFINED | 0 | 表示APP未定义窗口模式。 | 124| FULL_SCREEN | 1 | 表示APP全屏模式,在2in1设备中,窗口铺满整个屏幕,且无dock栏和状态栏。 | 125| MAXIMIZE | 2 | 表示APP窗口最大化模式,在2in1设备中,窗口铺满整个屏幕,有dock栏和状态栏。 | 126| MINIMIZE | 3 | 表示APP窗口最小化模式。 | 127| FLOATING | 4 | 表示APP自由悬浮形式窗口模式。 | 128| SPLIT_SCREEN | 5 | 表示APP分屏模式。 | 129 130## MaximizePresentation<sup>12+</sup> 131 132窗口最大化时的布局枚举。 133 134**系统能力:** SystemCapability.Window.SessionManager 135 136| 名称 | 值 | 说明 | 137| ---------- | ---- | ----------------------------- | 138| FOLLOW_APP_IMMERSIVE_SETTING | 0 | 最大化时,跟随应用app当前设置的全屏模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 139| EXIT_IMMERSIVE | 1 | 最大化时,如果当前窗口设置了全屏模式会退出全屏模式。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 140| ENTER_IMMERSIVE | 2 | 最大化时,进入全屏模式,鼠标Hover在热区上显示窗口标题栏和dock栏。<br/>**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。 | 141| ENTER_IMMERSIVE_DISABLE_TITLE_AND_DOCK_HOVER<sup>14+</sup> | 3 | 最大化时,进入全屏模式,鼠标Hover在热区上不显示窗口标题栏和dock栏。<br/>**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 | 142 143## WindowAnimationCurve<sup>20+</sup> 144 145窗口动画曲线类型。 146 147**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 148 149**系统能力:** SystemCapability.Window.SessionManager 150 151| 名称 | 值 | 说明 | 152| ------------------- | ---- | ------------------------------------------------------------ | 153| LINEAR | 0 | 表示动画从头到尾的速度都是相同的。<br/>使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中duration必填。<br/>使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中param选填,且不生效。 | 154| INTERPOLATION_SPRING | 1 | 表示插值器弹簧曲线,一条从0到1的动画曲线,实际动画值根据曲线进行插值计算。动画时间由曲线参数决定,不受[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中的duration参数控制。<br/>使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中duration选填,且不生效。<br/>使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中param必填。 | 155| CUBIC_BEZIER | 2 | 表示贝塞尔曲线。<br/>使用该曲线类型时[WindowAnimationConfig](arkts-apis-window-i.md#windowanimationconfig20)中的param和duration为必填项。 | 156 157## WindowTransitionType<sup>20+</sup> 158 159窗口转场动画类型枚举。 160 161**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 162 163**系统能力:** SystemCapability.Window.SessionManager 164 165| 名称 | 值 | 说明 | 166| ------- | ---- | -------------------------- | 167| DESTROY | 0 | 表示窗口销毁时的转场动画。 | 168 169## AnimationType<sup>20+</sup> 170 171窗口动画类型枚举。 172 173**系统能力:** SystemCapability.Window.SessionManager 174 175| 名称 | 值 | 说明 | 176| ------- | ---- | -------------------------- | 177| FADE_IN_OUT | 0 | 表示窗口动画类型为淡入淡出。淡入动画在窗口显示过程中生效,淡出动画在窗口隐藏过程中生效。 | 178 179## WindowAnchor<sup>20+</sup> 180 181窗口锚点枚举。 182 183**系统能力:** SystemCapability.Window.SessionManager 184 185| 名称 | 值 | 说明 | 186| ---------- | ---- | ----------------------------- | 187| TOP_START | 0 | 窗口左上角。| 188| TOP | 1 | 窗口上边界横向居中点。| 189| TOP_END | 2 | 窗口右上角。| 190| START | 3 | 窗口左边界纵向居中点。| 191| CENTER | 4 | 窗口横向和纵向居中点。| 192| END | 5 | 窗口右边界纵向居中点。| 193| BOTTOM_START | 6 | 窗口左下角。| 194| BOTTOM | 7 | 窗口下边界横向居中点。| 195| BOTTOM_END | 8 | 窗口右下角。| 196 197## RotationChangeType<sup>19+</sup> 198 199窗口旋转事件类型。 200 201**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。 202 203**系统能力:** SystemCapability.Window.SessionManager 204 205| 名称 | 值 | 说明 | 206| ------ | ---- | --------------------- | 207| WINDOW_WILL_ROTATE| 0 | 窗口即将旋转。 | 208| WINDOW_DID_ROTATE | 1 | 窗口旋转结束。 | 209 210## RectType<sup>19+</sup> 211 212窗口矩形区域坐标系类型。 213 214**原子化服务API:** 从API version 19开始,该接口支持在原子化服务中使用。 215 216**系统能力:** SystemCapability.Window.SessionManager 217 218| 名称 | 值 | 说明 | 219| ------ | ---- | --------------------- | 220| RELATIVE_TO_SCREEN | 0 | 窗口矩形区域相对于屏幕坐标系。 | 221| RELATIVE_TO_PARENT_WINDOW | 1 | 窗口矩形区域相对于父窗口坐标系。 | 222 223## GlobalWindowMode<sup>20+</sup> 224 225窗口模式。 226 227**原子化服务API:** 从API version 20开始,该接口支持在原子化服务中使用。 228 229**系统能力:** SystemCapability.Window.SessionManager 230 231| 名称 | 值 | 说明 | 232| ------ | --- | ------------------------ | 233| FULLSCREEN | 1 | 全屏窗口,二进制从右往左,第一个二进制位为1。 | 234| SPLIT | 1 << 1 | 分屏窗口,二进制从右往左,第二个二进制位为1。 | 235| FLOAT | 1 << 2 | 悬浮窗,二进制从右往左,第三个二进制位为1。 | 236| PIP | 1 << 3 | 画中画,二进制从右往左,第四个二进制位为1。 | 237 238## WindowStageEventType<sup>9+</sup> 239 240WindowStage生命周期。 241 242**模型约束:** 此接口仅可在Stage模型下使用。 243 244**系统能力:** SystemCapability.WindowManager.WindowManager.Core 245 246**原子化服务API:** 从API version 11开始,该接口支持在原子化服务中使用。 247 248| 名称 | 值 | 说明 | 249| ---------- | ------ | ---------- | 250| SHOWN | 1 | 切到前台,例如点击应用图标启动,无论是首次启动还是从后台启动均会触发。 | 251| ACTIVE | 2 | 获焦状态,例如应用窗口处理点击事件后的状态、应用启动后的状态。 | 252| INACTIVE | 3 | 失焦状态,例如打开新应用或点击其他窗口后,原获焦窗口的状态。 | 253| HIDDEN | 4 | 切到后台,例如应用上滑退出、应用窗口关闭。 | 254| RESUMED<sup>11+</sup> | 5 | 前台可交互状态,例如打开应用后,应用处于前台,且可以与用户交互的状态。 | 255| PAUSED<sup>11+</sup> | 6 | 前台不可交互状态,例如应用在前台时,进入多任务界面,应用依然处于前台但不可以与用户交互的状态。 | 256 257## WindowStageLifecycleEventType<sup>20+</sup> 258 259WindowStage生命周期的状态类型枚举。 260 261**模型约束:** 此接口仅可在Stage模型下使用。 262 263**系统能力:** SystemCapability.Window.SessionManager 264 265| 名称 | 值 | 说明 | 266| ---------- | ------ | ---------- | 267| SHOWN | 1 | 切到前台,例如点击应用图标启动,无论是首次启动还是从后台启动均会触发。 | 268| RESUMED | 2 | 前台可交互状态,例如打开应用后,应用处于前台,且可以与用户交互的状态。 | 269| PAUSED | 3 | 前台不可交互状态,例如应用在前台时,进入多任务界面,应用依然处于前台但不可以与用户交互的状态。 | 270| HIDDEN | 4 | 切到后台,例如应用上滑退出、应用窗口关闭。 | 271 272## ModalityType<sup>14+</sup> 273 274子窗口模态类型枚举。 275 276**系统能力:** SystemCapability.Window.SessionManager 277 278**原子化服务API:** 从API version 14开始,该接口支持在原子化服务中使用。 279 280| 名称 | 值 | 说明 | 281| -------------------- | ------ | ---------- | 282| WINDOW_MODALITY | 0 | 模态子窗类型为模窗口子窗,当仅需要其父级窗口不响应用户操作时,可选此参数。 | 283| APPLICATION_MODALITY | 1 | 模态子窗类型为模应用子窗,该窗口仅在[自由窗口](../../windowmanager/window-terminology.md#自由窗口)状态下生效。<br> 除其父级窗口外还需要该应用其他实例的窗口不响应用户操作时,可选此参数。<br> **设备行为差异:** 该枚举在2in1设备、Tablet设备中可正常调用,在其他设备类型中作为入参使用时,对应接口返回801错误码。 | 284 285## ScreenshotEventType<sup>20+</sup> 286 287截屏事件类型枚举。 288 289**系统能力:** SystemCapability.WindowManager.WindowManager.Core 290 291| 名称 | 值 | 说明 | 292| ------ | ---- | --------------------- | 293| SYSTEM_SCREENSHOT | 0 | 系统截屏成功。 | 294| SYSTEM_SCREENSHOT_ABORT | 1 | 系统截屏中止。 | 295| SCROLL_SHOT_START | 2 | 滚动截屏开始。 | 296| SCROLL_SHOT_END | 3 | 滚动截屏结束。 | 297| SCROLL_SHOT_ABORT | 4 | 滚动截屏中止。 | 298