鸿蒙HarmonyOS NEXT开发:TapGesture(基础手势)

94 篇文章 0 订阅

TapGesture

支持单击、双击和多次点击事件的识别。

说明:

从API Version 7开始支持。后续版本如有新增内容,则采用上角标单独标记该内容的起始版本。

接口

TapGesture(value?: { count?: number, fingers?: number })

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

参数:

参数名称参数类型必填参数描述
countnumber识别的连续点击次数。当设置的值小于1或不设置时,会被转化为默认值。
默认值:1
说明:
1. 当配置多击时,上一次的最后一根手指抬起和下一次的第一根手指按下的超时时间为300毫秒。
2. 当上次点击的位置与当前点击的位置距离超过60vp时,手势识别失败。
fingersnumber触发点击的手指数,最小为1指, 最大为10指。当设置小于1的值或不设置时,会被转化为默认值。
默认值:1
说明:
1. 当配置多指时,第一根手指按下后300毫秒内未有足够的手指数按下,手势识别失败;手指抬起时,抬起后剩余的手指数小于阈值时开始计时,如300ms内未全部抬起则手势识别失败。
2. 实际点击手指数超过配置值,手势识别成功。

事件

名称功能描述
onAction(event: (event: GestureEvent) => void)Tap手势识别成功回调。
原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

属性

原子化服务API: 从API version 11开始,该接口支持在原子化服务中使用。

名称类型描述
tag11+string设置Tap手势标志,用于自定义手势判定时区分绑定的手势。

示例

// xxx.ets
@Entry
@Component
struct TapGestureExample {
  @State value: string = ''

  build() {
    Column() {
      // 单指双击文本触发手势事件
      Text('Click twice').fontSize(28)
        .gesture(
        TapGesture({ count: 2 })
          .onAction((event: GestureEvent) => {
            if (event) {
              this.value = JSON.stringify(event.fingerList[0])
            }
          })
        )
      Text(this.value)
    }
    .height(200)
    .width(300)
    .padding(20)
    .border({ width: 3 })
    .margin(30)
  }
}
ts

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值