Skip to content

Gesture 手势 ​

查看 sn-gesture 的 2.0 版本差异

基础用法 ​

  • SinleUI 手势库组件,基于 AlloyFinger 实现,跨平台可用(Web / Android 均支持)
  • 内置点击、双击、长按、手指落下 / 移动 / 抬起 / 打断、双指缩放、滑动(fling)等手势识别
  • 事件回调均返回框架定义的具名类型(SnPointerEvent / SnTouchEvent / SnScaleEvent / SnFlingEvent),非 UTSJSONObject
vue
<template>
	<sn-gesture @click="onClick" @scale="onScale" @fling="onFling">
		<view>内容</view>
	</sn-gesture>
</template>

更多演示请下载 demo 查看

属性 ​

参数说明类型默认值可选值
customStyle自定义根节点样式UTSJSONObject | String--
customClass自定义根节点类名String--

事件 ​

名称类型说明
click(event: SnPointerEvent) => Void单击事件
dbclick(event: SnPointerEvent) => Void双击事件(250ms 内两次点击且位移小于阈值)
longpress(event: SnTouchEvent) => Void长按事件(按下 750ms 触发)
touchstart(event: SnTouchEvent) => Void手指落下事件
touchmove(event: SnTouchEvent) => Void手指移动事件
touchend(event: SnTouchEvent) => Void手指抬起事件
touchcancel(event: SnTouchEvent) => Void触摸打断事件
scale(event: SnScaleEvent) => Void双指缩放事件
fling(event: SnFlingEvent) => Void滑动事件(位移超过阈值触发)
字段类型必备描述
typeString是事件类型:click | dbclick | down
xNumber是点击点横坐标
yNumber是点击点纵坐标
eventUniPointerEvent否原事件,可用以阻止默认行为、阻止冒泡
字段类型必备描述
typeString是事件类型:touchstart | touchend | touchmove | touchcancel | longpress | showpress
touchesArray<SnTouch>是多指触摸信息
eventUniEvent否原事件,可用以阻止默认行为、阻止冒泡
字段类型必备描述
zoomNumber是缩放倍数(相对上一次缩放事件)
字段类型必备描述
typeString是事件类型
beginXNumber是起始点横坐标
beginYNumber是起始点纵坐标
endXNumber是结束点横坐标
endYNumber是结束点纵坐标
vXNumber是横向速度
vYNumber是纵向速度

插槽 ​

名称说明
default放置手势监听区域内的内容

类型 ​

字段类型必备描述
xNumber是触摸点横坐标
yNumber是触摸点纵坐标
diffXNumber是相对上一次触摸点的横向差值(正右负左)
diffYNumber是相对上一次触摸点的纵向差值(正下负上)
directionString是手指移动方向
idNumber是手指 ID

使用 MIT 协议