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