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

问题描述

假设您有 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 (将#修改为@)