1# 无障碍悬浮事件 2 3在开启无障碍模式后,Touch事件会转换为无障碍悬浮事件。 4 5> **说明:** 6> 7> - 从API Version 12开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。 8> - 目前仅支持通过开启无障碍模式触发。 9 10## onAccessibilityHover 11 12onAccessibilityHover(callback: AccessibilityCallback): T 13 14开启无障碍模式后,单指触摸绑定该回调的组件时触发该回调。 15 16**系统能力:** SystemCapability.ArkUI.ArkUI.Full 17 18**参数:** 19| 参数名 | 参数类型 | 必填 | 参数描述 | 20| ---------- | -------------------------- | ------- | ----------------------------- | 21| callback | [AccessibilityCallback](#accessibilitycallback) | 是 | 提供开启无障碍模式后的无障碍悬浮回调事件,当开启无障碍模式后,单指触摸绑定该回调的组件时触发该回调。 | 22 23**返回值:** 24 25| 类型 | 说明 | 26| -------- | -------- | 27| T | 返回当前组件。 | 28 29## AccessibilityCallback 30 31type AccessibilityCallback = (isHover: boolean, event: AccessibilityHoverEvent) => void 32 33提供开启无障碍模式后的无障碍悬浮回调事件类型。 34 35**系统能力:** SystemCapability.ArkUI.ArkUI.Full 36 37**参数:** 38 39| 参数名 | 类型 | 必填 | 说明 | 40| ------------------- | ----------------------------------- | ---- | ------------------------------------------------------------ | 41| isHover | boolean | 是 | 表示开启无障碍模式后,手指是否悬浮在组件上,手指进入时为true, 退出时为false。 | 42| event | [AccessibilityHoverEvent](#accessibilityhoverevent对象说明) | 是 | 获得AccessibilityHoverEvent对象。 | 43 44## AccessibilityHoverEvent对象说明 45 46继承于[BaseEvent](ts-gesture-customize-judge.md#baseevent对象说明)。 47 48**系统能力:** SystemCapability.ArkUI.ArkUI.Full 49 50| 名称 | 属性类型 | 描述 | 51| --------------- | ---------- | ------- | 52| type | [AccessibilityHoverType](#accessibilityhovertype) | 无障碍悬浮动作。 | 53| x | number | 手指位置相对于当前组件左上角的x轴坐标。<br/>单位:vp<br/> | 54| y | number | 手指位置相对于当前组件左上角的y轴坐标。<br/>单位:vp<br/> | 55| windowX | number | 手指位置相对于应用窗口左上角的x轴坐标。<br/>单位:vp<br/> | 56| windowY | number | 手指位置相对于应用窗口左上角的y轴坐标。<br/>单位:vp<br/> | 57| displayX | number | 手指位置相对于应用屏幕左上角的x轴坐标。<br/>单位:vp<br/> | 58| displayY | number | 手指位置相对于应用屏幕左上角的y轴坐标。<br/>单位:vp<br/> | 59 60## AccessibilityHoverType 61 62定义无障碍悬浮类型。 63 64| 名称 | 值 | 描述 | 65| ------- | ---- | ---------------------------------- | 66| HOVER_ENTER | 0 | 手指按下时触发。 | 67| HOVER_MOVE | 1 | 触摸移动时触发。 | 68| HOVER_EXIT | 2 | 抬手触发。 | 69| HOVER_CANCEL | 3 | 打断取消当前触发的事件。 | 70 71## 示例 72 73该示例主要演示通过使用onAccessibilityHover事件,对无障碍模式下的按钮进行设置。 74 75```ts 76// xxx.ets 77@Entry 78@Component 79struct OnAccessibilityHoverEventExample { 80 @State hoverText: string = 'no hover'; 81 @State color: Color = Color.Blue; 82 83 build() { 84 Column({ space: 20 }) { 85 Button(this.hoverText) 86 .width(180).height(80) 87 .backgroundColor(this.color) 88 .onAccessibilityHover((isHover: boolean, event: AccessibilityHoverEvent) => { 89 // 通过onAccessibilityHover事件动态修改按钮在是否有鼠标悬浮时的文本内容与背景颜色 90 if (isHover) { 91 this.hoverText = 'hover'; 92 this.color = Color.Pink; 93 } else { 94 this.hoverText = 'no hover'; 95 this.color = Color.Blue; 96 } 97 }) 98 }.padding({ top: 30 }).width('100%') 99 } 100} 101``` 102