我正在尝试实现一个UI,其中有一个完整页 <ScrollView /> , <View /> 位于其下方 . <ScrollView /> 在顶部有填充,所以最初 <View /> 可见,然后 <ScrollView /> 向上滚动以覆盖它 . 当然,问题是 <View /> 没有接触到,因为他们被 <ScrollView /> 响应者吃掉了 .
<ScrollView />
<View />
现在有没有办法实现或子类化 <View /> ,以便您可以将事件传递给底层元素?
你应该使用 Animated.View 接受 ScrollView 的 y 偏移作为 Animated.Value 道具 . 然后,您可以在滚动 ScrollView 时使用该值执行动画 . 滚动将捕获平移动画并将其通过道具传递给任何需要它的人 .
Animated.View
ScrollView
y
Animated.Value
你最好的代码样本之一'll find for this is Facebook'的F8应用程序 . 确切地说,这个文件:https://github.com/fbsamples/f8app/blob/b5df451259897d1838933f01ad4596784325c2ad/js/common/ListContainer.js . 在该文件中, ParallaxBackground 获取来自ListView子项的偏移量 Animated.Value .
ParallaxBackground
1 回答
你应该使用
Animated.View
接受ScrollView
的y
偏移作为Animated.Value
道具 . 然后,您可以在滚动ScrollView
时使用该值执行动画 . 滚动将捕获平移动画并将其通过道具传递给任何需要它的人 .你最好的代码样本之一'll find for this is Facebook'的F8应用程序 . 确切地说,这个文件:https://github.com/fbsamples/f8app/blob/b5df451259897d1838933f01ad4596784325c2ad/js/common/ListContainer.js . 在该文件中,
ParallaxBackground
获取来自ListView子项的偏移量Animated.Value
.