openharmony 鸿蒙 ts-basic-gestures-swipegesture

2025-06-12 浏览 (1)

SwipeGesture

SwipeGesture is used to implement a swipe gesture, which can be recognized when the swipe speed is 100 vp/s or higher.

NOTE

This gesture is supported since API version 8. Updates will be marked with a superscript to indicate their earliest API version.

APIs

SwipeGesture(value?: { fingers?: number, direction?: SwipeDirection, speed?: number })

Atomic service API: This API can be used in atomic services since API version 11.

Parameters

NameTypeMandatoryDescription
fingersnumberNoMinimum number of fingers to trigger a swipe gesture. The value ranges from 1 to 10.
Default value: 1
directionswipeDirectionNoSwipe direction.
Default value: SwipeDirection.All
speednumberNoMinimum speed of the swipe gesture.
Default value: 100 vp/s
NOTE
If the value is less than or equal to 0, it will be converted to the default value.
isFingerCountLimited15+booleanNoWhether to enforce the exact number of fingers touching the screen. With the value true, the gesture recognition fails if the number of fingers touching the screen does not match the configured value of fingers.
Default value: false

SwipeDirection

Atomic service API: This API can be used in atomic services since API version 11.

NameDescription
AllAll directions.
HorizontalHorizontal direction. The gesture event is triggered when the angle between the finger moving direction and the x-axis is less than 45 degrees.
VerticalVertical direction. The gesture event is triggered when the angle between the finger moving direction and the y-axis is less than 45 degrees.
NoneSwiping disabled.

Events

NameDescription
onAction(event:(event: GestureEvent) => void)Invoked when the swipe gesture is recognized.
Atomic service API: This API can be used in atomic services since API version 11.

Attributes

NameTypeDescription
tag11+stringTag for the swipe 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>Allowed event input types for the swipe gesture.
Atomic service API: This API can be used in atomic services since API version 14.

Example

This example demonstrates the recognition of a swipe gesture using SwipeGesture.

// xxx.ets
@Entry
@Component
struct SwipeGestureExample {
  @State rotateAngle: number = 0
  @State speed: number = 1

  build() {
    Column() {
      Column() {
        Text("SwipeGesture speed\n" + this.speed)
        Text("SwipeGesture angle\n" + this.rotateAngle)
      }
      .border({ width: 3 })
      .width(300)
      .height(200)
      .margin(100)
      .rotate({ angle: this.rotateAngle })
      // The gesture event is triggered by swiping vertically with one finger.
      .gesture(
      SwipeGesture({ direction: SwipeDirection.Vertical })
        .onAction((event: GestureEvent) => {
          if (event) {
            this.speed = event.speed
            this.rotateAngle = event.angle
          }
        })
      )
    }.width('100%')
  }
}

en-us_image_0000001231374559.png

你可能感兴趣的鸿蒙文章

harmony 鸿蒙ArcButton

harmony 鸿蒙ArcSlider

harmony 鸿蒙Chip

harmony 鸿蒙ChipGroup

harmony 鸿蒙ComposeListItem

harmony 鸿蒙ComposeTitleBar

harmony 鸿蒙advanced.Counter

harmony 鸿蒙Dialog Box (Dialog)

harmony 鸿蒙DialogV2

harmony 鸿蒙DownloadFileButton

  • 所属分类: 后端技术
  • 本文标签: 鸿蒙 软件
  • 版权声明: 本文链接 https://seaxiang.com/blog/1ytpAH