- 可点击的组件
“Touchable”开头的一系列组件。
- 点击事件
这些组件通过onPress
属性接受一个点击事件的处理函数。
- 长按事件
onLongPress属性来实现
- 在列表中上下滑动和在视图上左右滑动
ScrollView
可以在垂直或水平方向滚动,还可以配置pagingEnabled
属性来让用户整屏整屏的滑动。
ViewPagerAndroid—Android
Android上左右翻页的容器
- 双指缩放—仅支持IOS
如果在ScrollView中只放置一个组件,则可以用来实现缩放操作。设置maximumZoomScale
和minimumZoomScale
属性即可以使用户能够缩放其中的内容。
- PanResponder
onPanResponderMove: (event, gestureState) => {}
nativeEvent
changedTouches
- 在上一次事件之后,所有发生变化的触摸事件的数组集合(即上一次事件后,所有移动过的触摸点)identifier
- 触摸点的IDlocationX
- 触摸点相对于父元素的横坐标locationY
- 触摸点相对于父元素的纵坐标pageX
- 触摸点相对于根元素的横坐标pageY
- 触摸点相对于根元素的纵坐标target
- 触摸点所在的元素IDtimestamp
- 触摸事件的时间戳,可用于移动速度的计算touches
- 当前屏幕上的所有触摸点的集合
一个gestureState
对象有如下的字段:
stateID
- 触摸状态的ID。在屏幕上有至少一个触摸点的情况下,这个ID会一直有效。moveX
- 最近一次移动时的屏幕横坐标moveY
- 最近一次移动时的屏幕纵坐标x0
- 当响应器产生时的屏幕坐标y0
- 当响应器产生时的屏幕坐标dx
- 从触摸操作开始时的累计横向路程dy
- 从触摸操作开始时的累计纵向路程vx
- 当前的横向移动速度vy
- 当前的纵向移动速度numberActiveTouches
- 当前在屏幕上的有效触摸点的数量