获取另一个 FlatlList 的滚动偏移量

时间:2021-01-16 00:15:05

标签: react-native scroll react-native-flatlist

假设您有 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 位置

0 个答案:

没有答案
相关问题