是一个组合,我把这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. hadoop 伪分布式安装

    0. 关闭防火墙 重启后失效 service iptables start ;#立即开启防火墙,但是重启后失效. service iptables stop ;#立即关闭防火墙,但是重启后失效. 重启 ...

  2. MyBatis #{} 和 ${} 引用值的用法

    1.#{} 引用值的用法 UserMapper配置文件: <select id="queryOne" resultType="cn.tedu.mybatis.bea ...

  3. HTML和SEO基础知识:H标签全透视

    原文地址:http://www.chinaz.com/web/2010/0921/134391.shtml 什么是H标签? h1,h2,h3,h4,h5,h6,作为标题标签,并且依据重要性递减.我认为 ...

  4. Fibonacci数列的两种实现方式

    斐波那契数列的形式为:1,1,2,3,5,8,13,21......从第三项开始,后面的每一项都是前面两项的和. 实现的方式有一下 两种: 一:递归方式实现 def fib(n): if n < ...

  5. [UE4]反射

    1.根据名字获得类(C++支持,蓝图本身不支持但可以通过工厂模式模拟) 国外大神提供的封装好的C++实现: https://github.com/getsetgames/BlueprintReflec ...

  6. [UE4]子弹穿透多个机器人

    一.将机器人的碰撞类型改成“OverLap” 二.使用“MultiLineTraceByChannel”这个是可以穿透检测,可以检测到多个物体(前提是被检测物体的碰撞类型是“OverLap”).“Li ...

  7. 去掉user agent stylesheet 浏览器默认样式 [ 2.0 版本 ]

    今天在写一个网页的时候发现一个问题,我的table的样式很奇怪,也没有设置什么样式,跟其他的页面不一样,打开开发者工具一看,发现有这么点样式: 其中右上角:user agent stylesheet ...

  8. 通过注解实现一个简易的Spring mvc框架

    1.首先我们来搭建架构,就建一个普通的javaweb项目就OK了,具体目录如下: 对于小白来说可以细看后面web.xml的配置,对javaweb有点研究可以忽略而过后面的web.xml配置. 2.先上 ...

  9. int main(int argc,char* argv[])浅析

    int main(int argc,char* argv[])浅析 argc : 指输入参数个数,默认值1,就是执行程序名称 argv[] : 输入参数数组指针 举个栗子: 1. 编写一个argc.c ...

  10. vue2.0-组件传值

    父组件给子组件传值,子组件用props接收 例子:两个组件,一个是父组件标签名是parent,一个是子组件标签名是child,并且child组件嵌套在父组件parent里,大概的需求是:我们子组件里需 ...