Listview 突出显示/滚动到-列表视图,在本机上滚动视图
我在玩react native游戏,我被困在一个我自己都无法理解的阶段。我有一个项目列表,我想自动滚动到一些项目 我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现它,这样我就可以关注ListView中的特定行Listview 突出显示/滚动到-列表视图,在本机上滚动视图,listview,scrollview,react-native,Listview,Scrollview,React Native,我在玩react native游戏,我被困在一个我自己都无法理解的阶段。我有一个项目列表,我想自动滚动到一些项目 我知道我可以使用ScrollView和contentOffset={{x:0,y:0}}以及set和offset,但是这会有点复杂,因为我需要跟踪每个项目的位置,我想知道是否有一种简单的方法来实现它,这样我就可以关注ListView中的特定行 libs上有这样的功能吗?ScrollView不提供滚动到特定列表项的方法,但它提供了滚动到({x,y,animated})的方法 如果列表项
libs上有这样的功能吗?ScrollView不提供滚动到特定列表项的方法,但它提供了滚动到({x,y,animated})的方法 如果列表项的高度相等,则可以使用它们通过调用
scrollTo({y:itemIndex*ROW\u height})
来实现对特定项的滚动
为了能够访问ScrollView
实例,您需要使用ref
属性回调进行捕获:
<ScrollView ref={view => this._scrollView = view} />
我已经发布了一个库,它为React Native ScrollView启用了“scrollIntoView”功能
对于其他列表,如SectionList,您仍然可以使用其他答案中提到的项目索引。好问题,我也很想听听解决方案,我刚刚遇到了这个问题。看看它,让我知道它是否有用谢谢克里斯的提示!谢谢@jevakillio,我会试试。但是如果你的行高度可变怎么办?@chandlervdw可能是你可以用来测量位置,或者测量所有前几行的高度到你想要的屏幕上的高度,然后把它们加起来。(我知道这条评论来自>1年前,但这显示在谷歌上)我刚刚发现SectionList确实有一个scrollToLocation,它接收节和项的索引。ListView没有这个,我不知道为什么。可能您可以使用SectionList,只包含一个节,并将其渲染为“无”,然后使用此方法。当然它不是很优雅,但是它可能比其他任何东西都好,因为可变高度的行()参数已更改,更新了答案这是一个更好的解决方案,用于ScrollView中具有可变高度的项目。出色的解决方案!
scrollToRow(itemIndex) {
this._scrollView.scrollTo({y:itemIndex * ROW_HEIGHT});
}