美文网首页
react-native 类似tab的两个页面Segmented

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

作者: 既然可以颠覆何必循规蹈矩 | 来源:发表于2018-12-20 17:33 被阅读0次

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

    代码地址: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 })
         }
        }
    

    相关文章

      网友评论

          本文标题:react-native 类似tab的两个页面Segmented

          本文链接:https://www.haomeiwen.com/subject/xbtukqtx.html