1. import React, { Component } from 'react';
  2. import {
  3.  
  4. StyleSheet,
  5. Text,
  6. View,
  7. Image,
  8.  
  9. } from 'react-native';
  10. import TabNavigator from 'react-native-tab-navigator'
  11.  
  12. import { Platform } from 'react-native'
  13.  
  14. //这里 是四个底部tab 切换页面
  15. import Home from './src/assembly/myhome'
  16. import Newrn from './src/assembly/publicrn'
  17. import News from "./src/assembly/news";
  18. import About from "./src/assembly/about";
  19. import My from "./src/assembly/my";
  20. //判断安卓手机还是iOS手机
  21. // let paddingTop = 10;
  22. if (Platform.OS === 'android') {
  23. // alert(1)
  24. }else{
  25. // paddingTop = 400;
  26. }
  27.  
  28. const instructions = Platform.select({
  29. ios: 'Press Cmd+R to reload,\n' +
  30. 'Cmd+D or shake for dev menu',
  31. android: 'Double tap R on your keyboard to reload,\n' +
  32. 'Shake or press menu button for dev menu',
  33. });
  34.  
  35. type Props = {};
  36. export default class App extends Component<Props> {
  37.  
  38. constructor(props){
  39. super(props);
  40. this.state = {
  41. selectedTab: '首页'
  42. }
  43. }
  44.  
  45. render() {
  46. return (
        //判断安卓 iOS 屏幕上面兼容20像素
  47. <View style={[styles.android,Platform.OS == 'ios' ? styles.ios :Platform.OS == 'android']}>
  48.  
  49. <TabNavigator>
  50.  
  51. <TabNavigator.Item
  52. selected={this.state.selectedTab === '11'}
  53. title="首页"
  54. titleStyle={styles.tabText}
  55. selectedTitleStyle={styles.selectedTabText}
  56. renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
  57. renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
  58. onPress={() => this.setState({ selectedTab: '11' })}>
  59. <View>
  60. <Home></Home>
  61. </View>
  62. </TabNavigator.Item>
  63.  
  64. <TabNavigator.Item
  65. selected={this.state.selectedTab === '22'}
  66. title="22"
  67. titleStyle={styles.tabText}
  68. selectedTitleStyle={styles.selectedTabText}
  69. renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
  70. renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
  71. onPress={() => this.setState({ selectedTab: '11' })}>
  72. <View>
  73. <News></News>
  74. </View>
  75. </TabNavigator.Item>
  76.  
  77. <TabNavigator.Item
  78. selected={this.state.selectedTab === '33'}
  79. title="33"
  80. titleStyle={styles.tabText}
  81. selectedTitleStyle={styles.selectedTabText}
  82. renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
  83. renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
  84. onPress={() => this.setState({ selectedTab: '33' })}>
  85. <View>
  86. <My></My>
  87. </View>
  88. </TabNavigator.Item>
  89.  
  90. <TabNavigator.Item
  91. selected={this.state.selectedTab === '44'}
  92. title="44"
  93. titleStyle={styles.tabText}
  94. selectedTitleStyle={styles.selectedTabText}
  95. renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
  96. renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
  97. onPress={() => this.setState({ selectedTab: '44' })}>
  98. <View>
  99. <About></About>
  100. </View>
  101. </TabNavigator.Item>
  102.  
  103. </TabNavigator>
  104. </View>
  105. );
  106. }
  107. }
  108.  
  109. const styles = StyleSheet.create({
  110. container: {
  111. flex: 1,
  112. backgroundColor:'#ccc',
  113. // paddingTop: paddingTop
  114. },
  115. android: {
  116. flex: 1,
  117. backgroundColor:'green',
  118. },
  119. ios:{
  120. flex: 1,
  121. backgroundColor:'#fff',
  122. marginTop:21
  123. },
  124. tabText: {
  125. color: "#666666",
  126. fontSize: 13
  127. },
  128. selectedTabText: {
  129. color: "#ff8a00",
  130. fontSize: 13
  131. },
  132. icon: {
  133. width: 25,
  134. height: 25,
  135. }
  136. });

前段开发 react native tab功能的更多相关文章

  1. 关于开发React Native的注意事项

    今天在写一个简单的RN的Demo时,一连出现了好几个错误,最后幸亏得以解决,在这里把我踩过的坑以及解决办法分享出来: 1.运行出现错误:Could not connect to development ...

  2. 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  3. 带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)

    ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...

  4. 打造开发React Native的Sublime

     之前一年多一直用Sublime Text做前端开发,最近做React开发,发现不太好用,就尝试其他编辑器.WebStorm和VS Code都用过,WebStorm基本不用装插件,可以直接用,但用习惯 ...

  5. 记录VSCode开发React Native的一些坑

    当我们点Debug Android时,会弹出以下错误 Could not debug. Unable to set up communication with VSCode react-native ...

  6. React Native移动框架功能研究

    React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...

  7. 《React Native 精解与实战》书籍连载「Node.js 简介与 React Native 开发环境配置」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

  8. React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块

    尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...

  9. React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发

    React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发   2016/09/23 |  React Native技术文章 |  Sky丶清|  4 条评论 |  1 ...

随机推荐

  1. android调用第三方库——第一篇 (转载)

    转自:http://blog.csdn.net/jiuyueguang/article/details/9447245 版权声明:本文为博主原创文章,未经博主允许不得转载. 0:前言: 这两天一直在研 ...

  2. POJ2367【拓扑排序】

    很裸的拓扑排序~ //#include <bits/stdc++.h> #include<iostream> #include<string.h> #include ...

  3. <TLE>奇偶剪枝hdoj1010

    (奇偶剪枝)转自百度百科,讲的非常棒: http://baike.baidu.com/link?url=3g5bW7LszRVOVvFDFp6cL0ZZnAaOLUdpaNjc2leHoxkKU9Eh ...

  4. tpframe免费开源框架又一重大更新

    tpframe在为Pc站.app接口.微信mobile站各种功能完善的基础上,又更新了一项重新的更新突破,以后你用tpframe开发网站,不须要在写那么多繁琐的依赖程序了,现在只须要写你关注的程序模块 ...

  5. 定位,标记,Socket通信传输位置

    # -*- coding: utf- -*- """ Editor : X-POWER Date : -- Motto : talk is cheap,show me y ...

  6. Educational Codeforces Round 19 A

    Description Given a positive integer n, find k integers (not necessary distinct) such that all these ...

  7. Win7系统出现提示: “Windows已遇到关键问题,将在一分钟后自动重新启动。”

    1. 若用户在使用Win7系统时,遇到上述系统故障,建议重启电脑.等电脑开机自检一过,马上按键盘上的F8键,选择进入安全模式.在安全模式下,进行系统还原.其他的解决方法见下. 1.或者,在安全模式下, ...

  8. [已读]Sass与Compass实战

    介绍了Sass基础语法与Compass框架,这个网上参考文档就OK了,另外介绍了compass生成图片精灵和相应的css,貌似现在单纯用sass和compass的挺少,要不grunt,要不FIS,而g ...

  9. Chrome下font-size小于12px的解决办法

    自从Chorme取消了-webkit-text-size-adjust,这个问题又变得令人烦恼起来. 好在我们可以利用-webkit-transform这个私有属性. .box{ -webkit-tr ...

  10. ubuntu server 14.04LTS升级Python3.5

    依次执行如下命令:需要root权限,普通用户可以使用sudo 来执行以下命令 root@ubuntu-server:~# add-apt-repository ppa:fkrull/deadsnake ...