• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
1# LongPressGesture
2
3>  **说明:**
4>  从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
5
6
7## 接口
8
9LongPressGesture(value?: { fingers?: number, repeat?: boolean, duration?: number })
10
11**参数:**
12
13| 参数名称 | 参数类型 | 必填 | 参数描述                                                     |
14| -------- | -------- | ---- | ------------------------------------------------------------ |
15| fingers  | number   | 否   | 触发长按的最少手指数,最小取值为1指,&nbsp;最大取值为10指。<br/>默认值:1 |
16| repeat   | boolean  | 否   | 是否连续触发事件回调。<br/>默认值:false                     |
17| duration | number   | 否   | 触发长按的最小时间,单位为毫秒(ms)。<br/>默认值:500       |
18
19## 事件
20
21| 名称                                                         | 功能描述                                            |
22| ------------------------------------------------------------ | --------------------------------------------------- |
23| onAction(event:&nbsp;(event?:&nbsp;[GestureEvent](ts-gesture-settings.md))&nbsp;=&gt;&nbsp;void) | LongPress手势识别成功回调。                         |
24| onActionEnd(event:&nbsp;(event?:&nbsp;[GestureEvent](ts-gesture-settings.md))&nbsp;=&gt;&nbsp;void) | LongPress手势识别成功,手指抬起后触发回调。         |
25| onActionCancel(event:&nbsp;()&nbsp;=&gt;&nbsp;void)          | LongPress手势识别成功,接收到触摸取消事件触发回调。 |
26
27
28## 示例
29
30```ts
31// xxx.ets
32@Entry
33@Component
34struct LongPressGestureExample {
35  @State count: number = 0;
36
37  build() {
38    Column() {
39      Text('LongPress onAction:' + this.count).fontSize(28)
40        // 单指长按文本触发该手势事件
41        .gesture(
42        LongPressGesture({ repeat: true })
43          // 由于repeat设置为true,长按动作存在时会连续触发,触发间隔为duration(默认值500ms)
44          .onAction((event: GestureEvent) => {
45            if (event.repeat) {
46              this.count++;
47            }
48          })
49            // 长按动作一结束触发
50          .onActionEnd(() => {
51            this.count = 0;
52          })
53        )
54    }
55    .height(200)
56    .width(300)
57    .padding(20)
58    .border({ width: 3 })
59    .margin(30)
60  }
61}
62```
63
64![zh-cn_image_0000001174264380](figures/zh-cn_image_0000001174264380.gif)
65