我有一个包装平面列表的视图。每个项目都是一个视频,我只想在手指松开时播放视频。尝试添加PanResponder
功能以触发onResponderRelease
by 设置onStartShouldSetPanResponderCapture
返回 true,如下所示:
const panResponder = PanResponder.create({
onStartShouldSetPanResponderCapture: (evt, gestureState) => {
return true;
},
});
<View
{...panResponder.panHandlers}
style={{ height: viewHeight, backgroundColor: Colors.black, flex: 1 }}
onResponderRelease={() => console.log(123123123)}
>
<FlatList
refreshControl={<RefreshControl refreshing={refreshing} onRefresh={onRefresh} />}
initialNumToRender={5}
maxToRenderPerBatch={7}
windowSize={7}
// removeClippedSubviews
updateCellsBatchingPeriod={5}
data={posts}
.....
这确实触发了发布,我能够控制台.log 但是平面列表停止接收触摸并且它变得不可滚动。
我的目标是在视图上拖动后检测手指释放。也尝试过onScrollEndDrag
,但它仅适用于平面列表,如果我将手指从列表中抬起,则不会触发释放。