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 协议