• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# Class (CursorController)
2
3提供光标样式设置的能力。
4
5> **说明:**
6>
7> - 本模块首批接口从API version 10开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
8>
9> - 本Class首批接口从API version 12开始支持。
10>
11> - 以下API需先使用UIContext中的[getCursorController()](arkts-apis-uicontext-uicontext.md#getcursorcontroller12)方法获取CursorController实例,再通过此实例调用对应方法。
12
13## restoreDefault<sup>12+</sup>
14
15restoreDefault(): void
16
17恢复默认的光标样式。
18
19**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
20
21**系统能力:** SystemCapability.ArkUI.ArkUI.Full
22
23**示例:**
24
25当光标移出绿框时,通过CursorController的restoreDefault方法恢复默认光标样式。
26
27```ts
28import { pointer } from '@kit.InputKit';
29import { UIContext, CursorController } from '@kit.ArkUI';
30
31@Entry
32@Component
33struct CursorControlExample {
34  @State text: string = '';
35  cursorCustom: CursorController = this.getUIContext().getCursorController();
36
37  build() {
38    Column() {
39      Row().height(200).width(200).backgroundColor(Color.Green).position({x: 150 ,y:70})
40        .onHover((flag) => {
41          if (flag) {
42            this.cursorCustom.setCursor(pointer.PointerStyle.EAST);
43          } else {
44            console.info("restoreDefault");
45            this.cursorCustom.restoreDefault();
46          }
47        })
48    }.width('100%')
49  }
50}
51```
52![cursor-restoreDefault](figures/cursor-restoreDefault.gif)
53
54## setCursor<sup>12+</sup>
55
56setCursor(value: PointerStyle): void
57
58更改当前的鼠标光标样式。
59
60**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
61
62**系统能力:** SystemCapability.ArkUI.ArkUI.Full
63
64**参数:**
65
66| 参数名     | 类型                                       | 必填   | 说明      |
67| ------- | ---------------------------------------- | ---- | ------- |
68| value | [PointerStyle](arkts-apis-uicontext-t.md#pointerstyle12) | 是    | 光标样式。 |
69
70**示例:**
71
72当光标进入蓝框时,通过CursorController的setCursor方法修改光标样式为PointerStyle.WEST73
74```ts
75import { pointer } from '@kit.InputKit';
76import { UIContext, CursorController } from '@kit.ArkUI';
77
78@Entry
79@Component
80struct CursorControlExample {
81  @State text: string = '';
82  cursorCustom: CursorController = this.getUIContext().getCursorController();
83
84  build() {
85    Column() {
86      Row().height(200).width(200).backgroundColor(Color.Blue).position({x: 100 ,y:70})
87        .onHover((flag) => {
88          if (flag) {
89            this.cursorCustom.setCursor(pointer.PointerStyle.WEST);
90          } else {
91            this.cursorCustom.restoreDefault();
92          }
93        })
94    }.width('100%')
95  }
96}
97```
98![cursor-setCursor](figures/cursor-setCursor.gif)
99