Listview 在Croll上反应本机限制

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滚动条上的动画:

<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
。它启用了prop
scroll
,当您不想让用户再滚动时,可以将其设置为false。ScrollView还有
onScroll
,因此在这里实现逻辑应该很容易


以下是ScrollView的文档:

也许你应该试试
ScrollView
。它启用了prop
scroll
,当您不想让用户再滚动时,可以将其设置为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
到达其目标后仍继续滚动。在外观上,它与第二个
节头类似。