当我向上滚动时,我想让ScrollView滚动到下一个粘滞标题,而当向下滚动时,它应该滚动到上一个粘滞标题。我在ScrollView中有多个stickyHeaderIndices
。如何实现这一点?
我有这样的东西
<ScrollView
onScroll={(event) => {
code here
}}
decelerationRate="fast"
snapToStart={false}
disableIntervalMomentum={true}
stickyHeaderIndices={[0, 2, 4, 6, 8, 10]}
snapToEnd={false}>
<Text>Header</Text> // intially load here
<Text>lorem ipsum</Text>
<Text>Header</Text> // scroll to here
<Text>lorem ipsum</Text>
<Text>Header</Text> // scroll to here
<Text>lorem ipsum</Text>
<Text>Header</Text> // scroll to here
<Text>lorem ipsum</Text>
<Text>Header</Text> // scroll to here
<Text>lorem ipsum</Text>
<Text>Header</Text> // scroll to here
<Text>lorem ipsum</Text>
</ScrollView>
1条答案
按热度按时间h43kikqp1#
若要达成这个行为,您可以使用
ScrollView
的onScroll
事件来检查使用者是向上或向下卷动,然后决定要卷动到的下一个或上一个粘滞信头索引。接着您可以使用ScrollView
的scrollTo
方法,顺利地卷动到想要的位置。下面是一个如何实现此操作的示例:
在本例中,我们使用
useState
钩子跟踪当前滚动偏移量,并确定用户是向上还是向下滚动。