0

我有一个包装平面列表的视图。每个项目都是一个视频,我只想在手指松开时播放视频。尝试添加PanResponder功能以触发onResponderReleaseby 设置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,但它仅适用于平面列表,如果我将手指从列表中抬起,则不会触发释放。

4

0 回答 0