我正在使用 React Native 的ScrollView
方法scrollTo
来为滚动视图设置动画。我怎样才能使这个动画加载弹簧,如Animated.spring
(不使用第 3 方库)?
问问题
1801 次
1 回答
2
跟踪滚动位置
<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 */ });
}
于 2019-04-18T13:04:38.030 回答