Listview 在Croll上反应本机限制
为初学者的问题道歉 我正在制作ListView滚动条上的动画:Listview 在Croll上反应本机限制,listview,animation,react-native,Listview,Animation,React Native,为初学者的问题道歉 我正在制作ListView滚动条上的动画: <ListView scrollEventThrottle={16} onScroll={ Animated.event([{nativeEvent: {contentOffset: { y: this.state.animTranslateY}}}] ) } ... /> <Animated.View style={[{height: 50, p
<ListView scrollEventThrottle={16}
onScroll={
Animated.event([{nativeEvent: {contentOffset: { y: this.state.animTranslateY}}}]
)
}
...
/>
<Animated.View style={[{height: 50,
position: 'absolute',
right: 0,
left: 0,
top: 0,
transform: [{ translateY: this.state.animTranslateY.interpolate({
inputRange: [0, this.state.infoHeight],
outputRange: [this.state.infoHeight, 0] }) }]
}]}
}>
...
</Animated.View>
...
我想限制动画,以便在用户滚动一定距离(比如100像素)后,事件不再发生,从而有效地将动画视图固定到位
我试图在onScroll事件(if(event.nativeEvent.contentOffset.y<100){}
)中插入一个条件,但语法已关闭。我尝试创建一个单独的函数,但无法将其用于动画.event
(即使使用scrollEventThrottle
,纯event
也会产生欢乐效果)
有人能推荐如何正确插入条件语句吗?或者使用动画.event
生成函数
谢谢 也许你应该试试
ScrollView
。它启用了propscroll
,当您不想让用户再滚动时,可以将其设置为false。ScrollView还有onScroll
,因此在这里实现逻辑应该很容易
以下是ScrollView的文档:也许你应该试试
ScrollView
。它启用了propscroll
,当您不想让用户再滚动时,可以将其设置为false。ScrollView还有onScroll
,因此在这里实现逻辑应该很容易
以下是ScrollView的文档:用于执行此操作。在文档中:“默认情况下,它将外推超出给定范围的曲线,但您也可以让它钳制输出值。”通过钳制您的输出值,一旦动画达到最后一个输出值,您将停止动画
transform: [{ translateY: this.state.animTranslateY.interpolate({
inputRange: [0, this.state.infoHeight],
outputRange: [this.state.infoHeight, 0] }) }],
extrapolate: 'clamp'
}]}
一旦输入范围点击此.state.infoHeight,此代码将停止翻译。在文档中:“默认情况下,它将外推超出给定范围的曲线,但您也可以让它钳制输出值。”通过钳制您的输出值,一旦动画达到最后一个输出值,您将停止动画
transform: [{ translateY: this.state.animTranslateY.interpolate({
inputRange: [0, this.state.infoHeight],
outputRange: [this.state.infoHeight, 0] }) }],
extrapolate: 'clamp'
}]}
一旦您的输入范围点击
This.state.infoHeight
谢谢您的建议,此代码将停止翻译。不幸的是,该设计要求列表视图
/滚动视图
即使在动画.View
到达其目标后仍继续滚动。在外观上,它与第二个节头类似。感谢您的建议。不幸的是,该设计要求列表视图
/滚动视图
即使在动画.View
到达其目标后仍继续滚动。在外观上,它与第二个节头类似。