react-native 类似tab的两个页面Segmented

勤做笔记,方便自己,帮助他人。

代码地址:https://github.com/libinWeny/RNLibin

1.gif

核心代码如下:
1.头部的一个切换按钮。这里我用的是蚂蚁金服的SegmentedControl组件,这个自己画也很简单。

<SegmentedControl
     tintColor={CS.THEME11}
      style={styles.headerCenter}
      values={[ '房产圈', '互动' ]}
      selectedIndex={this.state.select}
      onChange={(e) => this.refs.ScrollView.scrollTo({
          x : W * e.nativeEvent.selectedSegmentIndex,
          animated : true
      })}
 />

2.两个页面。pagingEnabled这个属性控制吗每次滑动为屏幕一屏宽度。
onMomentumScrollEnd滚动动画结束时调用此函数 可以获取到当前的x值

<ScrollView
  ref={'ScrollView'}
  horizontal
   showsHorizontalScrollIndicator={false}
   pagingEnabled
   onMomentumScrollEnd={(e) => this.changeSelectTitle(e)}
>
   <Group navigation={this.props.navigation}/>
   <Interact navigation={this.props.navigation}/>
</ScrollView>

3.滑动的时候,跟着修改选中的头部

changeSelectTitle(e) {
     let setX = e.nativeEvent.contentOffset.x;
     if (setX) {
         this.setState({ select : 1 })
     } else {
         this.setState({ select : 0 })
     }
    }
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,200评论 4 61
  • 以前总听学妹跟我倾诉,关于交友方面的困惑,关于与同学相处间的方式方法。 后来同学当了老师,也遇到十几岁孩子关于无法...
    风山水一17阅读 278评论 0 0
  • 高一的时候去东莞打暑假工,在工作的时候认识了高三毕业的锋哥(还不知道怎么称呼你,暂且叫锋哥吧)。刚读完高一...
    夏映荷阅读 162评论 0 0
  • 我是日记星球第六期252号星宝宝,这是我的第23篇原创日记。有你们相伴,我相信坚持的力量,能走得更远! ...
    于艾湘阅读 430评论 2 3