react-native-scrollable-tab-view和FlatList手势冲突解决

问题描述:

react-native-scrollable-tab-view叠加react-native-scrollable-tab-view再加上FlatList
FlatList向下拉时,会造成上一级的react-native-scrollable-tab-view插件的内容左右滑动,进而FlatList的下拉滑动失效,做不成下拉刷新功能

解决思路 :

FlatList滑动时,判断滑动方向,如果是下拉就屏蔽react-native-scrollable-tab-view左右滑动的功能,等下拉时间结束时再开启,如果方向是左右就开启react-native-scrollable-tab-view左右滑动的功能,不好的地方就是,手势切换时会有感觉

<FlatList
         data={this.state.data}
         renderItem={this.renderListItem}
         refreshing={this.state.refreshing}
         onRefresh={this._renderRefresh}
         style={{marginBottom:40}}
         onTouchStart={(e) => {
             this.pageX = e.nativeEvent.pageX;
             this.pageY = e.nativeEvent.pageY;
         }}
        onTouchMove={(e) => {
               if(
                     Math.abs(this.pageY - e.nativeEvent.pageY) >               Math.abs(this.pageX -     e.nativeEvent.pageX)){ 
               // 下拉
                 this.props.lockSlide();
                    } else { // 左右滑动
                    this.props.openSlide(); 
         } } />

主要方法是onTouchStart,onTouchMove, 屏蔽react-native-scrollable-tab-view左右滑动

    调用
_lockSlide(){ this.setState({
      scrollTabViewLocked : true
    })}

_openSlide(){ this.setState({
      scrollTabViewLocked : false
    });}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 解决思路:react-native-scrollable-tab-view嵌套listview实现思路会造成lis...
    45b645c5912e阅读 9,793评论 5 7
  • 姓名:刁伟聪 公司:宁波贞观电器有限公司 宁波盛和塾《六项精进》235期谦虚二组学员 【知~学习】 背诵六项精进及...
    真诚无敌阅读 1,288评论 0 0
  • 高中的时候,朱红色的跑道下雨后最好看。 南方的夏天 那座临江的小城里总弥漫着栀子花的香气,老人挎着竹篮...
    桐宫人阅读 2,806评论 0 1
  • 天真与倔强,融合的矛盾综合体 这篇本来应该是一之后就该写的,然而作者拖延症晚期,直到他开摄影展,才终于督促自己,该...
    吴下阿若阅读 3,698评论 3 6
  • 有童鞋要求我认真的写写我的唇膏小心肝们,每天一支,这简直就是考验我的形容词词汇量嘛。但是由于最近旅游去鸟所以没什么...
    太阳系美少女Tina酱阅读 4,055评论 0 1

友情链接更多精彩内容