是一个组合,我把这2个写在一起了

代码:

import React, { Component } from 'react';
import {StyleSheet,Text,Button,View,TabBarItem} from 'react-native';
import {StackNavigator,TabNavigator} from 'react-navigation';
import Icon from 'react-native-vector-icons/Feather';//图标库
import { IS_ANDROID, IS_IOS } from './config/base'; //底部导航栏 ----- start ---------
const TabSty = new Object();
if(IS_IOS){
TabSty = {
activeTintColor:'#6b52ae', //活动选项卡的标签和图标颜色。
// activeBackgroundColor:'#000',//活动选项卡的背景颜色
inactiveTintColor:'#333',//非活动选项卡的标签和图标颜色。
// inactiveBackgroundColor:'#fff',//非活动选项卡的背景颜色
labelStyle:{//标签标签的样式对象
fontSize:,
marginBottom:
}
}
}else if(IS_ANDROID){
TabSty = {
activeTintColor:'#6b52ae', //活动选项卡的标签和图标颜色。
inactiveTintColor:'#333',//非活动选项卡的标签和图标颜色。
showIcon:true,//是否显示标签图标,默认为false。
pressOpacity:0.1,//按下标签的不透明度
pressColor:'#ccc',//材质纹波的颜色(仅限Android> = 5.0)--按下的水印
tabStyle:{//选项卡的样式对象。
paddingTop:
},
labelStyle:{//标签标签的样式对象
fontSize:,
   margin:
},
//选项卡指示符的样式对象(选项卡底部的行)。
indicatorStyle:{
height:
}
}
}
//标签栏的样式对象。
TabSty.style = {
height:,
backgroundColor:'#fff'
}
const Tab = TabNavigator(
{
Home:{
screen: require('./components/index/index.js').default,//该底部导航栏该项对应的页面
navigationOptions: ({ navigation }) => ({
title:'消息',//页面标题
tabBarLabel: '消息',//导航栏该项标题
tabBarIcon: ({ tintColor, focused }) => ( //tintColor -- 这个是 状态切换的时候给图标不同的颜色
<Icon name="message-square" style={{color:tintColor,fontSize:}}/>
)
}),
},
Nearby:{
screen: require('./components/index/index.js').default,
navigationOptions: ({ navigation }) => ({
title:'工作台',
tabBarLabel: '工作台',
tabBarIcon: ({ tintColor, focused }) => (
<Icon name="home" style={{color:tintColor,fontSize:}}/>
)
}),
},
Message:{
screen: require('./components/index/index.js').default,
navigationOptions: ({ navigation }) => ({
title:'我的',
tabBarLabel: '我的',
tabBarIcon: ({ tintColor, focused }) => (
<Icon name="user" style={{color:tintColor,fontSize:}}/>
)
}),
}
},
{
tabBarPosition: 'bottom',
swipeEnabled: true,//标签之间进行滑动
animationEnabled: true,
lazy: true,// 是否懒加载
tabBarOptions:TabSty
}
); //底部导航栏 ----- end --------- //定义 StackNavigator 导航跳转 --- start ------
//工作台模块
import indexRout from './rout/indexRout.js';
const androidTitleSty = new Object();
const Navigator = StackNavigator(
{
Tab: {screen:Tab},
...indexRout
},
{
    //设置导航栏公用的样式
navigationOptions:({ navigation }) => ({
//设置导航条的样式。背景色,宽高等
headerStyle:{
},
//设置导航栏文字样式
headerTitleStyle:{
flex:,
textAlign:'center',
   fontWeight:'normal',
   fontSize:,
   color:'#666'
},
headerBackTitle:null,
//返回箭头重写
headerLeft:() => {
return <Icon name="chevron-left" onPress={()=>navigation.goBack()} style={styles.icon}/>;
}
})
},
);
//定义 StackNavigator 导航跳转 --- end ------
//样式
const styles = StyleSheet.create({
icon:{
fontSize:,
color:'#444',
backgroundColor:'transparent'
}
});
export default Navigator;

indexRout.js:

这个js的内容其实完全可以放在 Navigator 这个里面的  Tab 下面只是我想把它分开,所以分开写了

//工作台路由
export default rout = {
//固定投资
fixedInvestList:{
screen:require('../components/index/fixedInvest/list.js').default,
navigationOptions:({ navigation }) => ({
title:'列表页面'
})
},
fixedInvestDetails:{
screen:require('../components/index/fixedInvest/details.js').default,
navigationOptions:({ navigation }) => ({
title:'详情页面'
})
}
}

图标库的使用 可以看这里  react-native-vector-icons 图标库使用

在定义 底部导航栏的时候 之所以分为 ios  和 android  分开设置 ,是因为 2者的参数 和设置 还是有差别的,只是把  style  标签栏的样式对象,这个属性设置在一起的,具体的可以区看上面

的链接,就能清楚

效果如图

在android ,ios 上效果是一样的

react-navigation,StackNavigator,TabNavigator 导航使用的更多相关文章

  1. React native中DrawerNavigator,StackNavigator,TabNavigator导航栏使用

    import React from 'react'; import { View, Text,Button } from 'react-native'; import { DrawerNavigato ...

  2. Facebook力推导航库:React Navigation使用详解

    本文来自Songlcy投稿:文章地址:http://blog.csdn.net/u013718120/article/details/72357698 一.开源库介绍 今年1月份,新开源的react- ...

  3. React-native 导航插件React Navigation 4.x的使用

    React-native 导航插件React Navigation 4.x的使用 文档 英文水平可以的话,建议直接阅读英文文档 简单使用介绍 安装插件 yarn add react-navigatio ...

  4. React Navigation / React Native Navigation 多种类型的导航结合使用,构造合理回退栈

    React Navigation 更新到版本5已经是非常完善的一套导航管理组件, 提供了Stack , Tab , Drawer 导航方式 , 那么我们应该怎样设计和组合应用他们来构建一个完美的回退栈 ...

  5. React Native 系列(八) -- 导航

    前言 本系列是基于React Native版本号0.44.3写的.我们都知道,一个App不可能只有一个不变的界面,而是通过多个界面间的跳转来呈现不同的内容.那么这篇文章将介绍RN中的导航. 导航 什么 ...

  6. react-native 学习 ----- React Navigation

    很久没有的登陆博客园了,密码都是找回的,从当年的大学生已经正常的走上了程序员的道路,看到之前发的博客还是写的android,现在自己已经在使用了react-native了. 大学毕业了,做了java后 ...

  7. react-native导航器 react navigation 介绍

    开发环境搭建好之后,想要进一步了解react-native,可以先从react-native官网上的电影列表案例入手: https://reactnative.cn/docs/0.51/sample- ...

  8. [RN] 04 - React Navigation

    react-navigation和react-router的对比: 支持的平台: react-navigation: react-native react-router: react-native.r ...

  9. React Native常用组件之TabBarIOS、TabBarIOS.Item组件、Navigator组件、NavigatorIOS组件、React Navigation第三方

    以下内容为老版本React Native,faceBook已经有了新的导航组件,请移步其他博客参考>>[我是传送门] 参考资料:React Navigation  react-native ...

随机推荐

  1. Ubuntu 14.10 下安装伪分布式hbase 0.99.0

    HBase 安装分为:单击模式,伪分布式,完全分布式,在单机模式中,HBase使用本地文件系统而不是HDFS ,所有的服务和zooKeeper都运作在一个JVM中.本文是安装的伪分布式. 安装步骤如下 ...

  2. Hadoop概念学习系列之Hadoop集群动态增加新节点或删除已有某节点及复制策略导向 (四十三)

    不多说,直接上干货! hadoop-2.6.0动态添加新节点 https://blog.csdn.net/baidu_25820069/article/details/52225216 Hadoop集 ...

  3. JavaScript之图片操作7

    前面总结了很多了有关于图片操作的案例,本次是基于前面的基础,做一个综合的图片轮播效果,需要实现以下功能: 没有任何操作时,图片自动轮播 鼠标悬浮时,图片停止轮播:当鼠标移开,轮播继续 鼠标悬浮时,出现 ...

  4. 补充appium -api

    //锁屏 driver.lockScreen(2); //判断是否锁屏 driver.isLocked(); //截屏并保存至本地 File screen = driver.getScreenshot ...

  5. 三种通用应用层协议protobuf、thrift、avro对比,完爆xml,json,http

    原文: https://www.douban.com/note/523340109/ Google protobuf: 优点  二进制消息,性能好/效率高(空间和时间效率都很不错)     proto ...

  6. windows下pem转ppk

    下载puttygen.exe,启动 下载路径:链接:https://pan.baidu.com/s/1hstORTa 密码:kvfi pem -> ppk :通过PuTTYgen 转换 1. I ...

  7. WebApi中关于base64和jwt的联合验证

    用到了如鹏的代码 jwt验证 public class MyAuthoFilterPostOrgInfoAttribute: AuthorizationFilterAttribute { public ...

  8. zabbix 3.4新功能值解析——Preprocessing预处理

    Zabbix 3.4版本更新了许多新功能,其中一个监控项功能Preprocessing,根据官方说明文档,在监控项收集的数据存储到数据库前,预先对数据进行处理,使用效果超过预期.这个功能存放位置在创建 ...

  9. ORA-22922: 不存在的 LOB 值 可以使用外层嵌套wm_concat()解决

    select kw0408id, sjbh, ksrs, kch, to_char(wm_concat(kcmc)) as kcmc, ksxs, kssc, ksfs, kcxz, xsyx, nj ...

  10. Java集合类分析,初始化

    Java集合是常用的数据类型,在此详细分析接口和实现类.整个集合框架就围绕一组标准接口而设计,学习集合框架有助开发实践. 框架体系图 1.Collection 接口Collection 是最基本的集合 ...