ReactNative-动作事件

  • 可点击的组件

“Touchable”开头的一系列组件。

  • 点击事件

这些组件通过onPress属性接受一个点击事件的处理函数。

  • 长按事件

onLongPress属性来实现

  • 在列表中上下滑动和在视图上左右滑动

ScrollView

可以在垂直或水平方向滚动,还可以配置pagingEnabled属性来让用户整屏整屏的滑动。

ViewPagerAndroid—Android

Android上左右翻页的容器

  • 双指缩放—仅支持IOS

如果在ScrollView中只放置一个组件,则可以用来实现缩放操作。设置maximumZoomScaleminimumZoomScale属性即可以使用户能够缩放其中的内容。

  • PanResponder
onPanResponderMove: (event, gestureState) => {}

nativeEvent

changedTouches - 在上一次事件之后,所有发生变化的触摸事件的数组集合(即上一次事件后,所有移动过的触摸点)

identifier - 触摸点的ID

locationX - 触摸点相对于父元素的横坐标

locationY - 触摸点相对于父元素的纵坐标

pageX - 触摸点相对于根元素的横坐标

pageY - 触摸点相对于根元素的纵坐标

target - 触摸点所在的元素ID

timestamp - 触摸事件的时间戳,可用于移动速度的计算

touches - 当前屏幕上的所有触摸点的集合

一个gestureState对象有如下的字段:

stateID - 触摸状态的ID。在屏幕上有至少一个触摸点的情况下,这个ID会一直有效。

moveX - 最近一次移动时的屏幕横坐标

moveY - 最近一次移动时的屏幕纵坐标

x0 - 当响应器产生时的屏幕坐标

y0 - 当响应器产生时的屏幕坐标

dx - 从触摸操作开始时的累计横向路程

dy - 从触摸操作开始时的累计纵向路程

vx - 当前的横向移动速度

vy - 当前的纵向移动速度

numberActiveTouches - 当前在屏幕上的有效触摸点的数量

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注