ts-basic-gestures-swipegesture.md 2.1 KB
Newer Older
Z
zengyawen 已提交
1
# SwipeGesture
Z
zengyawen 已提交
2

3
用于触发滑动事件,滑动速度大于100vp/s时可识别成功。
T
explain  
tianyu 已提交
4

H
geshi  
HelloCrease 已提交
5
>  **说明:**
G
gmy 已提交
6 7
>
>  从API Version 8开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。
Z
zengyawen 已提交
8

Z
zengyawen 已提交
9 10 11 12 13

## 接口

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

G
gmy 已提交
14
**参数:**
Z
zengyawen 已提交
15

G
gmy 已提交
16 17 18
| 参数名称 | 参数类型 | 必填 | 参数描述 |
| -------- | -------- | -------- | -------- |
| fingers | number | 否 | 触发滑动的最少手指数,默认为1,最小为1指,最大为10指。<br/>默认值:1 |
W
wangshuainan 已提交
19
| direction | [SwipeDirection](#swipedirection枚举说明) | 否 | 触发滑动手势的滑动方向。<br/>默认值:SwipeDirection.All |
G
gmy 已提交
20 21 22 23 24 25 26
| speed | number | 否 | 识别滑动的最小速度(默认为100VP/秒)。<br/>默认值:100 |

## SwipeDirection枚举说明

| 名称 | 描述 |
| -------- | -------- |
| All | 所有方向。 |
27 28
| Horizontal | 水平方向,手指滑动方向与x轴夹角小于45度时触发。 |
| Vertical | 竖直方向,手指滑动方向与y轴夹角小于45度时触发。 |
29
| None | 任何方向均不可触发。 |
Z
zengyawen 已提交
30 31 32 33


## 事件

T
explain  
tianyu 已提交
34
| 名称 | 功能描述 |
35
| -------- | -------- |
S
sienna1128 已提交
36
| onAction(event:(event?:&nbsp;[GestureEvent](ts-gesture-settings.md#gestureevent对象说明))&nbsp;=&gt;&nbsp;void) | 滑动手势识别成功回调。 |
Z
zengyawen 已提交
37 38

## 示例
Z
zengyawen 已提交
39

H
geshi  
HelloCrease 已提交
40 41
```ts
// xxx.ets
Z
zengyawen 已提交
42 43 44
@Entry
@Component
struct SwipeGestureExample {
Y
yamila 已提交
45 46
  @State rotateAngle: number = 0
  @State speed: number = 1
Z
zengyawen 已提交
47 48 49

  build() {
    Column() {
50 51 52 53 54 55 56 57 58 59 60 61
      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 })
      // 单指竖直方向滑动时触发该事件
      .gesture(
      SwipeGesture({ direction: SwipeDirection.Vertical })
L
liuliu 已提交
62 63 64 65 66
        .onAction((event?: GestureEvent) => {
          if (event) {
            this.speed = event.speed
            this.rotateAngle = event.angle
          }
67 68 69
        })
      )
    }.width('100%')
Z
zengyawen 已提交
70 71 72 73
  }
}
```

T
tianyu 已提交
74
 ![zh-cn_image_0000001231374559.png](figures/zh-cn_image_0000001231374559.png)