我正以全屏模式显示图片库。我在水平方向使用scrollview滚动图片。现在我可以通过向左或向右滑动来滚动图片,并使用pagingEnabled
启用的道具。
但我想添加更多手势,当用户点击左侧或右侧(距边缘一定距离)时,它会自动映射交换手势。我怎么能这样做?
答案 0 :(得分:0)
获取ref
到<ScrollView>
然后到scrollToEnd()
或使用scrollTo
方法 - https://facebook.github.io/react-native/docs/scrollview.html#scrollto
要计算页码,您可以使用onLayout
来计算页面大小。如果它是设备的宽度,那么这很简单,只需使用Dimensions.get('window').width
,然后将其提供给x
中的scrollTo
。
答案 1 :(得分:0)
我假设您的滚动视图是使用 pagingEnabled 和水平道具的。
<ScrollView
horizontal={true}
pagingEnabled={true}
onMomentumScrollEnd={event => {
this.setState({xOffset: event.nativeEvent.contentOffset.x })
}}>
// Content
</ScrollView>
可以使用:
计算位置 this.state.xOffset/ DeviceSize.width
onMomentumScrollEnd
(在这种情况下,内容必须为全角)