我正在开发一个应用程序,其中包含一个水平界面来查看其他人的故事。为了提高性能,我使用了 FlatList,它工作得很好,除了我可以像提要一样滚动它并且它不会停止在下一个索引/故事上
尝试使用disableIntervalMomentum(FlatList应该从ScrollView继承的prop)来处理这个问题,但它没有显示任何效果!在博览会上运行:^34.0.1
除了自己编写整个滚动行为之外,我还能做些什么吗?感谢您的帮助!:D
<Animated.FlatList
data={this.state.stories}
keyExtractor={this._keyExtractor}
renderItem={this._renderSingleStory}
style={StyleSheet.absoluteFillObject}
horizontal
snapToInterval={width}
disableIntervalMomentum
snapToAlignment={"center"}
decelerationRate={0.88}
initialScrollIndex={this.props.stories.indexOf(this.props.currentActiveBigStory)}
showsHorizontalScrollIndicator={false}
getItemLayout={(data, index) => (
{ length: width, offset: width * index, index }
)}
onScroll={Animated.event(
[
{
nativeEvent: {
contentOffset: { x },
},
},
],
{ useNativeDriver: true },
)}
/>
Run Code Online (Sandbox Code Playgroud)
对于每个为此苦苦挣扎的人,pagingEnabled 做到了这一点(感谢 Qing)这就是当前的代码:
<Animated.FlatList
data={this.state.items}
keyExtractor={this._keyExtractor}
renderItem={this._renderSingleStory}
initialScrollIndex={this.props.items.indexOf(this.props.currentActiveBigStory)}
showsHorizontalScrollIndicator={false}
pagingEnabled
horizontal
getItemLayout={(data, index) => (
{ length: width, offset: width * index, index }
)}
onScroll={Animated.event(
[
{
nativeEvent: {
contentOffset: { x },
},
},
],
{ useNativeDriver: true },
)}
/>
Run Code Online (Sandbox Code Playgroud)
我希望它能帮助你!:D
归档时间: |
|
查看次数: |
1388 次 |
最近记录: |