Реагируй родной ScrollView scrollTo для весенней анимации - PullRequest
0 голосов
/ 08 апреля 2019

Я использую метод ScrollView scrollTo в React Native для анимации вида прокрутки.Как сделать так, чтобы эта анимация загружалась весной, как в Animated.spring (без использования сторонней библиотеки)?

1 Ответ

0 голосов
/ 18 апреля 2019

Отслеживание положения прокрутки

<ScrollView
    ref={(ref) => { this.scrollView = ref; }}
    onScroll={(event) => {
        this.scrollY = event.nativeEvent.contentOffset.y;
    }}
    scrollEventThrottle={16}
>

А потом

scrollTo(y) {
    if (!this.scrollY) this.scrollY = 0;
    const animatedValue = new Animated.Value(this.scrollY);
    const id = animatedValue.addListener(({ value }) => {
        this.scrollView.scrollTo({ x: 0, y: value, animated: false });
    });
   Animated.spring(animatedValue, { toValue: y }).start(() => { animatedValue.removeListener(id); /* finished callback */ });
}
...