# LongPressGesture **LongPressGesture** is used to trigger a long press gesture, which requires one or more fingers with a minimum 500 ms hold-down time. > **NOTE** > > This gesture is supported since API version 7. Updates will be marked with a superscript to indicate their earliest API version. ## APIs LongPressGesture(value?: { fingers?: number, repeat?: boolean, duration?: number }) Triggers 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: If 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. If 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. **Atomic service API**: This API can be used in atomic services since API version 11. **Parameters** | Name| Type| Mandatory| Description| | -------- | -------- | -------- | -------- | | fingers | number | No| Minimum number of fingers to trigger a long press gesture. The value ranges from 1 to 10.
Default value: **1**
**NOTE**
If a finger moves more than 15 px after being pressed, the gesture recognition fails.| | repeat | boolean | No| Whether to continuously trigger the event callback.
Default value: **false**| | duration | number | No| Minimum hold-down time, in ms.
Default value: **500**
**NOTE**
If the value is less than or equal to 0, the default value **500** will be used.| ## Events | Name| Description| | -------- | -------- | | onAction(event:(event: [GestureEvent](ts-gesture-settings.md#gestureevent)) => void) | Invoked when a long press gesture is recognized.
**Atomic service API**: This API can be used in atomic services since API version 11.| | onActionEnd(event:(event: [GestureEvent](ts-gesture-settings.md#gestureevent)) => void) | Invoked when the last finger is lifted after the long press gesture is recognized.
**Atomic service API**: This API can be used in atomic services since API version 11.| | onActionCancel(event: () => void) | Invoked when a tap cancellation event is received after the long press gesture is recognized.
**Atomic service API**: This API can be used in atomic services since API version 11.| ## Attributes | Name| Type |Description | | ---- | ------ | ---------------------------------------- | | tag11+ | string | Tag for the long press gesture. It is used to distinguish the gesture during custom gesture judgment.
**Atomic service API**: This API can be used in atomic services since API version 11.| | allowedTypes14+ | Array\<[SourceTool](ts-gesture-settings.md#sourcetool9)> | Allowed event input types for the long press gesture.
**Atomic service API**: This API can be used in atomic services since API version 14.| ## Example This example demonstrates the recognition of a long press gesture using **TapGesture**. ```ts // xxx.ets @Entry @Component struct LongPressGestureExample { @State count: number = 0 build() { Column() { Text('LongPress onAction:' + this.count).fontSize(28) // Touch and hold the text with one finger to trigger the gesture event. .gesture( LongPressGesture({ repeat: true }) // 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). .onAction((event: GestureEvent) => { if (event && event.repeat) { this.count++ } }) // Triggered when the long press gesture ends. .onActionEnd((event: GestureEvent) => { this.count = 0 }) ) } .height(200) .width(300) .padding(20) .border({ width: 3 }) .margin(30) } } ``` ![en-us_image_0000001174264380](figures/en-us_image_0000001174264380.gif)