最近项目中需要判断ScrollView滑动到底部的状态,查询了部分资料,在此做一次记录。
原文:http://blog.csdn.net/sinat_17775997/article/details/76598752
首先找到ScrollView 中滑动结束后触发的函数 可以找到
onMomentumScrollEnd这个函数,中文网的描述
onMomentumScrollEnd?: function
滚动动画结束时调用此函数。
< ScrollView
style={{flex:1}}
onRefresh = {this._onRefreshData}
onMomentumScrollEnd = {this._contentViewScroll}
refreshing={this.state.refreshing}
automaticallyAdjustContentInsets={false}
showsVerticalScrollIndicator={false}
scrollsToTop={true}>
{<View/>}
</ScrollView >
我们需要知道当前ScrollView中 滑动的距离, contentOffset.y contentSize.height ScrollView 高度,三个变量来确定当前有没有滑动到底部。好在事件中都具有这些属性
_contentViewScroll(e: Object){
var offsetY = e.nativeEvent.contentOffset.y; //滑动距离
var contentSizeHeight = e.nativeEvent.contentSize.height; //scrollView contentSize高度
var oriageScrollHeight = e.nativeEvent.layoutMeasurement.height; //scrollView高度
if (offsetY + oriageScrollHeight >= contentSizeHeight){
Console.log('上传滑动到底部事件')
}
}
网友评论