问题描述
假设您有 2 个 FlatList A 和 B。
B嵌套在A中
A= 水平
B=垂直
在 B 中,您有垂直图像 在 A 中,您水平嵌套了 B 列表。图片按类别并排列出。
能否在A的onMomentumScrollEnd方法中获取B的滚动位置?
我为什么要这样做?
我在平面列表 B 中有分页指示器,它是垂直的。因此,当我向上或向下滚动时,该指示器会根据它的 flatlit 的 onScroll 方法越过点。
当然,所有垂直图像的数量都不相同。 例如,在第一个垂直方向我向下滚动到第 3 个图像,因此 Inticagor 也转到第 3 个点, 然后我水平向右滑动,如果第二个垂直列表中没有第三个图像,指示器仍然不在点之外。
const scrollY = React.useRef(new Animated.Value(0)).current; // vertical scrollY pos.
所以,我需要以某种方式操纵主 scrollY 值 当我在 flatlist 中水平滚动时,它保存垂直滚动偏移量。将指示器移动到正确的位置。
这是分页组件:
<View style={styles().pagination}>
{item.images.length > 0 &&
item.images.map((_,index) => {
return <View key={index} style={[styles().dot]} />;
})}
<Animated.View
style={[
styles().dotIndicator,{
transform: [
{
translateY: Animated.divide(
scrollY,IMAGE_HEIGHT
).interpolate({
inputRange: [0,1],outputRange: [0,DOT_INDICATOR_SIZE],}),},],]}
/>
</View>
我相信当我在平面列表 A 中水平滚动时,我需要以某种方式重置 scrollY 位置
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)