1# LongPressGesture 2 3**LongPressGesture** is used to trigger a long press gesture, which requires one or more fingers with a minimum 500 ms hold-down time. 4 5> **NOTE** 6> 7> This gesture is supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. 8 9 10## APIs 11 12LongPressGesture(value?: { fingers?: number, repeat?: boolean, duration?: number }) 13 14Triggers a long press gesture. In components that support drag actions by default, such as **Text**, **TextInput**, **TextArea**, **HyperLink**, **Image**, and **RichEditor**, the long press gesture may conflict with the drag action. If this occurs, they are handled as follows: 15 16If the minimum duration of the long press gesture is less than 500 ms, the long press gesture receives a higher response priority than the drag action. 17 18If the minimum duration of the long press gesture is greater than or equal to 500 ms, the drag action receives a higher response priority than the long press gesture. 19 20**Atomic service API**: This API can be used in atomic services since API version 11. 21 22**Parameters** 23 24| Name| Type| Mandatory| Description| 25| -------- | -------- | -------- | -------- | 26| fingers | number | No| Minimum number of fingers to trigger a long press gesture. The value ranges from 1 to 10.<br>Default value: **1**<br> **NOTE**<br>If a finger moves more than 15 px after being pressed, the gesture recognition fails.| 27| repeat | boolean | No| Whether to continuously trigger the event callback.<br>Default value: **false**| 28| duration | number | No| Minimum hold-down time, in ms.<br>Default value: **500**<br>**NOTE**<br>If the value is less than or equal to 0, the default value **500** will be used.| 29 30 31## Events 32 33| Name| Description| 34| -------- | -------- | 35| onAction(event:(event: [GestureEvent](ts-gesture-settings.md#gestureevent)) => void) | Invoked when a long press gesture is recognized.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 36| onActionEnd(event:(event: [GestureEvent](ts-gesture-settings.md#gestureevent)) => void) | Invoked when the last finger is lifted after the long press gesture is recognized.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 37| onActionCancel(event: () => void) | Invoked when a tap cancellation event is received after the long press gesture is recognized.<br>**Atomic service API**: This API can be used in atomic services since API version 11.| 38 39## Attributes 40 41**Atomic service API**: This API can be used in atomic services since API version 11. 42 43| Name| Type |Description | 44| ---- | ------ | ---------------------------------------- | 45| tag<sup>11+</sup> | string | Tag for the long press gesture. It is used to distinguish the gesture during custom gesture judgment.| 46 47## Example 48 49```ts 50// xxx.ets 51@Entry 52@Component 53struct LongPressGestureExample { 54 @State count: number = 0 55 56 build() { 57 Column() { 58 Text('LongPress onAction:' + this.count).fontSize(28) 59 // Touch and hold the text with one finger to trigger the gesture event. 60 .gesture( 61 LongPressGesture({ repeat: true }) 62 // When repeat is set to true, the event callback is triggered continuously when the gesture is detected. The triggering interval is specified by duration (500 ms by default). 63 .onAction((event: GestureEvent) => { 64 if (event && event.repeat) { 65 this.count++ 66 } 67 }) 68 // Triggered when the long press gesture ends. 69 .onActionEnd((event: GestureEvent) => { 70 this.count = 0 71 }) 72 ) 73 } 74 .height(200) 75 .width(300) 76 .padding(20) 77 .border({ width: 3 }) 78 .margin(30) 79 } 80} 81``` 82 83 84