react-native-scrollable-tab-view是一个滑动tab组件,可在tab之间进行切换显示内容

https://github.com/skv-headless/react-native-scrollable-tab-view

1、安装依赖

npm install --save react-native-scrollable-tab-view

2、引入组件

import ScrollableTabView,{DefaultTabBar,ScrollableTabBar}  from 'react-native-scrollable-tab-view';

3、组件使用

系统给我们提供了以下默认两种样式 ,当然我们也可以自定义

ScrollableTabBar :Tab可以超过屏幕范围,滚动可以显示

DefaultTabBar : Tab会平分在水平方向的空间

a.使用DefaultTabBar 样式,Tab平分在水平方向的空间

render() {
return (
<ScrollableTabView
renderTabBar={() => <DefaultTabBar/>}>
<Text tabLabel='Tab1'/>
<Text tabLabel='Tab2'/>
<Text tabLabel='Tab3'/>
<Text tabLabel='Tab4'/>
<Text tabLabel='Tab5'/>
<Text tabLabel='Tab6'/>
</ScrollableTabView>
);
}

效果如下:

b.使用ScrollableTabBar 样式,Tab超过屏幕范围,滚动显示

render() {
return (
<ScrollableTabView
style={styles.container}
tabBarPosition='top'//tabBarPosition默认top 位于屏幕顶部 bottom位于屏幕底部 overlayTop悬浮在顶部
initialPage={0} //初始化时被选中的Tab下标,默认是0
locked={false}//表示手指是否能拖动视图 默认false true则不能拖动,只可点击
renderTabBar={() => <ScrollableTabBar />}
tabBarUnderlineStyle={{backgroundColor: '#FF0000'}}//设置DefaultTabBar和ScrollableTabBarTab选中时下方横线的颜色
tabBarBackgroundColor='#FFFFFF'//设置整个Tab这一栏的背景颜色
tabBarActiveTextColor='#9B30FF'//设置选中Tab的文字颜色
tabBarInactiveTextColor='#7A67EE'//设置未选中Tab的文字颜色
tabBarTextStyle={{fontSize: 18}}//设置Tab文字的样式
onChangeTab={(obj) => {//Tab切换之后会触发此方法
console.log('index:' + obj.i);
}}
onScroll={(postion) => { //视图正在滑动的时候触发此方法
// float类型 [0, tab数量-1]
console.log('scroll position:' + postion);
}}
>
<View tabLabel='Tab1'>
<Text>Tab1</Text>
</View>
<View tabLabel='Tab2'>
<Text>Tab2</Text>
</View>
<View tabLabel='Tab3'>
<Text>Tab3</Text>
</View>
<View tabLabel='Tab4'>
<Text>Tab4</Text>
</View>
<View tabLabel='Tab5'>
<Text>Tab5</Text>
</View>
<View tabLabel='Tab6'>
<Text>Tab6</Text>
</View>
</ScrollableTabView>
);
}

效果如下:

这里有个问题,在使用ScrollableTabBar 样式的时候,假如我们设置了tabBarUnderlineStyle选中状态下划线颜色,默认选中第一个tab没有选中下划线样式,在点击tab的时候才会出现下划线样式,而使用DefaultTabBar样式时没有这种问题,不知道是什么原因,有知道原因的还请告知一下,谢谢。

参考资料:

作者:fozero
声明:原创文章,转载请注意出处!http://www.jianshu.com/p/a729fa3c4754
标签:ReactNative

react-native-scrollable-tab-view组件的简单使用的更多相关文章

  1. React Native 项目常用第三方组件汇总

    React Native 项目常用第三方组件汇总 https://www.jianshu.com/p/d9cd9a868764?utm_campaign=maleskine&utm_conte ...

  2. react native底部tab栏切换

    1.安装tab栏插件 npm i react-native-tab-navigator --save 2.引入对应的组件和tab插件 import { Platform, StyleSheet, Te ...

  3. React Native知识5-Touchable类组件

    React Native 没有像web那样可以给元素绑定click事件,前面我们已经知道Text组件有onPress事件,为了给其他组件 也绑定点击事件,React Native提供了3个组件来做这件 ...

  4. react实现的tab切换组件

    我有点想要吐槽,因为用原生的js实现起来挺简单的一个小东西,改用react来写却花了我不少时间,也许react的写法只有在复杂的web应用中才能体现出它的优势吧!不过吐槽归吐槽,对react这种优雅的 ...

  5. React Native 之 定义的组件 (跨文件使用)

    哈哈的~~~今天介绍的是自定义组件 然后去使用这个组件,让这个组件传递这各种文件之间  哈哈  下面开始吧!!!! 我们所要创建的是一个自定义的Button,先创建一个js文件起名为MyButton, ...

  6. React Native的SliderIOS滑块组件

    import React,{Component}from 'react'; import { AppRegistry, StyleSheet, Text, View, SliderIOS, } fro ...

  7. 8、手把手教React Native实战之ReactJS组件生命周期

    1.创建阶段 getDefaultProps:处理props的默认值 在React.createClass调用 2.实例化阶段 React.render(<HelloMessage 启动之后 g ...

  8. react native 的图表开源组件react-native-chart-android

    react-native-chart-android是一个图表开源组件,使用方法可以去这里 由于需要在数据上加上触摸事件,而github上没有说明看源码找了半天才找到下面的解决方法,特此记录一下: 在 ...

  9. [RN] React Native 删除第三方开源组件依赖包 后 还要做的 (以 删除 react-native-video为例)

    近期测试使用了下  react-native-video 使用一直不成功,后来想着删除掉, 使用命令: npm uninstall react-native-video 重新编译后,还是一直报错 后来 ...

  10. 从web移动端布局到react native布局

    在web移动端通常会有这样的需求,实现上中下三栏布局(上下导航栏位置固定,中间部分内容超出可滚动),如下图所示: 实现方法如下: HTML结构: <div class='container'&g ...

随机推荐

  1. 采用Opserver来监控你的ASP.NET项目系列(二、监控SQL Server与Asp.Net项目)

    前言 之前有过2篇关于如何监控ASP.NET core项目的文章,有兴趣的也可以看看. 今天我们主要来介绍一下,如何使用Opserver监控我们的SQL Server 和ASP.NET项目的异常监控 ...

  2. ChromeExtension那些事儿

    Chrome Extension是什么呢? 简而言之,就是Chrome扩展,它是基于Chrome浏览器的,我们可以理解它为一个独立运行在Chrome浏览器下的APP,当然核心编程语言就是JavaScr ...

  3. 从源代码到Runtime发生的重排序

     源代码和Runtime时执行的代码很可能不一样,这是因为编译器.处理器常常会为了追求性能对改变执行顺序.然而改变顺序执行很危险,很有可能使得运行结果和预想的不一样,特别是当重排序共享变量时.  从源 ...

  4. NDK开发过程自认为好的一些参考资料

    虽然NDK开发时间很短, 但也接触了一些自认为还不错的资料, 记录下来. 一.首先就说官方文档吧 网上资料好多过时了, 并且有点参差不齐. 所以看官方文档还是很有必要的,我根据我的需求整理了两个的链接 ...

  5. Java中用Apache POI生成excel和word文档

    概述: 近期在做项目的过程中遇到了excel的数据导出和word的图文表报告的导出功能.最后决定用Apache POI来完毕该项功能.本文就项目实现过程中的一些思路与代码与大家共享.同一时候.也作为自 ...

  6. BZOJ 1032 JSOI2007 祖码Zuma 动态规划

    题目大意:给定一个祖玛序列,任选颜色射♂出珠子,问最少射♂出多少珠子 输入法近期越来越奇怪了0.0 首先我们把连续同样的珠子都缩在一起 令f[i][j]表示从i開始的j个珠子的最小消除次数 初值 f[ ...

  7. centos 6.5 安装mongodb2.6

    前言: 系统版本号:Centos-6.5-x86_64 *** Centos编译安装mongodb 2.6 系统最好是64位的,才干更好发挥mongodb的性能 1.准备,下载源文件(二进制编译版) ...

  8. hdu5304 Eastest Magical Day Seep Group&#39;s Summer 状压dp+生成树

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=5304 16个点的无向图,问能生成多少个n条边的连通图.(即多一条边的树) 先n^3 * 2^n 枚举全部的 ...

  9. 导出Excel1 - 项目分解篇

    我们在全部的MIS系统(信息管理系统)中都能见到他.所以我们把这个通用功能提出来. 项目名称:车辆信息管理系统(中石化石炼) 项目负责人:xiaobin 项目时间:2006.12 - 2007.2 E ...

  10. 你懂AI吗(1)

    那场载入史册的战争之后,AI成为地球的主人已经快一个世纪了. 随着见证这场战争的那一代人基本消失,除了几个要堵上人类的尊严,颠覆AI的邪恶统治的组织外,现在的人基本已经习惯了这个AI统治的世界. AI ...