往期鸿蒙5.0全套实战文章必看:(文中附带全栈鸿蒙5.0学习资料)
鼠标光标控制
控制鼠标光标的显示样式。
说明
从API Version 11开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
cursorControl
setCursor
setCursor(value: PointerStyle): void
元服务API: 从API version 12开始,该接口支持在元服务中使用。
方法语句中可使用的全局接口,调用此接口可以更改当前的鼠标光标样式。
参数:
名称 | 类型 | 必填 | 描述 |
---|---|---|---|
value | PointerStyle | 是 | 设置的鼠标样式。 |
restoreDefault
restoreDefault(): void
元服务API: 从API version 12开始,该接口支持在元服务中使用。
方法语句中可使用的全局接口,调用此接口可以将鼠标光标恢复成默认的箭头光标样式。
示例
该示例通过setCursor实现了鼠标更改当前光标样式。
说明
直接使用cursorControl可能导致实例不明确的问题,建议使用getUIContext获取UIContext实例,并使用getCursorController获取绑定实例的cursorControl。
// xxx.ets
import { pointer } from '@kit.InputKit';
@Entry
@Component
struct CursorControlExample {
@State text: string = ''
controller: TextInputController = new TextInputController()
build() {
Column() {
Row().height(200).width(200).backgroundColor(Color.Green).position({x: 150 ,y:70})
.onHover((flag) => {
if (flag) {
// 建议使用this.getUIContext().getCursorController().setCursor()
cursorControl.setCursor(pointer.PointerStyle.EAST)
} else {
// 建议使用this.getUIContext().getCursorController().restoreDefault()
cursorControl.restoreDefault()
}
})
Row().height(200).width(200).backgroundColor(Color.Blue).position({x: 220 ,y:120})
.onHover((flag) => {
if (flag) {
// 建议使用this.getUIContext().getCursorController().setCursor()
cursorControl.setCursor(pointer.PointerStyle.WEST)
} else {
// 建议使用this.getUIContext().getCursorController().restoreDefault()
cursorControl.restoreDefault()
}
})
}.width('100%')
}
}
示意图:
当鼠标悬浮在蓝色区域时,显示:向西箭头光标
当鼠标悬浮在绿色区域时,显示:向东箭头光标