前段开发 react native tab功能
import React, { Component } from 'react';
import {
StyleSheet,
Text,
View,
Image,
} from 'react-native';
import TabNavigator from 'react-native-tab-navigator'
import { Platform } from 'react-native'
//这里 是四个底部tab 切换页面
import Home from './src/assembly/myhome'
import Newrn from './src/assembly/publicrn'
import News from "./src/assembly/news";
import About from "./src/assembly/about";
import My from "./src/assembly/my";
//判断安卓手机还是iOS手机
// let paddingTop = 10;
if (Platform.OS === 'android') {
// alert(1)
}else{
// paddingTop = 400;
}
const instructions = Platform.select({
ios: 'Press Cmd+R to reload,\n' +
'Cmd+D or shake for dev menu',
android: 'Double tap R on your keyboard to reload,\n' +
'Shake or press menu button for dev menu',
});
type Props = {};
export default class App extends Component<Props> {
constructor(props){
super(props);
this.state = {
selectedTab: '首页'
}
}
render() {
return (
//判断安卓 iOS 屏幕上面兼容20像素
<View style={[styles.android,Platform.OS == 'ios' ? styles.ios :Platform.OS == 'android']}>
<TabNavigator>
<TabNavigator.Item
selected={this.state.selectedTab === '11'}
title="首页"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
onPress={() => this.setState({ selectedTab: '11' })}>
<View>
<Home></Home>
</View>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '22'}
title="22"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
onPress={() => this.setState({ selectedTab: '11' })}>
<View>
<News></News>
</View>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '33'}
title="33"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
onPress={() => this.setState({ selectedTab: '33' })}>
<View>
<My></My>
</View>
</TabNavigator.Item>
<TabNavigator.Item
selected={this.state.selectedTab === '44'}
title="44"
titleStyle={styles.tabText}
selectedTitleStyle={styles.selectedTabText}
renderIcon={() => <Image style={styles.icon} source={require(".png")} />}
renderSelectedIcon={() => <Image style={styles.icon} source={require(".png")} />}
onPress={() => this.setState({ selectedTab: '44' })}>
<View>
<About></About>
</View>
</TabNavigator.Item>
</TabNavigator>
</View>
);
}
}
const styles = StyleSheet.create({
container: {
flex: 1,
backgroundColor:'#ccc',
// paddingTop: paddingTop
},
android: {
flex: 1,
backgroundColor:'green',
},
ios:{
flex: 1,
backgroundColor:'#fff',
marginTop:21
},
tabText: {
color: "#666666",
fontSize: 13
},
selectedTabText: {
color: "#ff8a00",
fontSize: 13
},
icon: {
width: 25,
height: 25,
}
});
前段开发 react native tab功能的更多相关文章
- 关于开发React Native的注意事项
今天在写一个简单的RN的Demo时,一连出现了好几个错误,最后幸亏得以解决,在这里把我踩过的坑以及解决办法分享出来: 1.运行出现错误:Could not connect to development ...
- 带你从零学ReactNative开发跨平台App开发-[react native 仿boss直聘](十三)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 带你从零学ReactNative开发跨平台App开发[react native SqlLite 终极运用](十二)
ReactNative跨平台开发系列教程: 带你从零学ReactNative开发跨平台App开发(一) 带你从零学ReactNative开发跨平台App开发(二) 带你从零学ReactNative开发 ...
- 打造开发React Native的Sublime
之前一年多一直用Sublime Text做前端开发,最近做React开发,发现不太好用,就尝试其他编辑器.WebStorm和VS Code都用过,WebStorm基本不用装插件,可以直接用,但用习惯 ...
- 记录VSCode开发React Native的一些坑
当我们点Debug Android时,会弹出以下错误 Could not debug. Unable to set up communication with VSCode react-native ...
- React Native移动框架功能研究
React Native移动框架功能研究 此篇只研究React Native框架的功能. 一.React Natvie是什么 React Native是使用React(或者说JS)来开发原生APP的框 ...
- 《React Native 精解与实战》书籍连载「Node.js 简介与 React Native 开发环境配置」
此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...
- React Native Android原生模块开发实战|教程|心得|怎样创建React Native Android原生模块
尊重版权,未经授权不得转载 本文出自:贾鹏辉的技术博客(http://blog.csdn.net/fengyuzhengfan/article/details/54691503) 告诉大家一个好消息. ...
- React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发
React Native实战系列教程之自定义原生UI组件和VideoView视频播放器开发 2016/09/23 | React Native技术文章 | Sky丶清| 4 条评论 | 1 ...
随机推荐
- hibernate的基础学习--多对多关联
多对多采用学生老师模型进行测试 学生配置文件: <?xml version="1.0" encoding="utf-8" ?> <!DOCTY ...
- JAVA基础--异常10
一.Object类简介 1.Object类简介 Object,是Java一切对象的最高父类:如果一个类没有显示继承一个类,他的父类就是Object: 它描述的是Java世界里所有对象最最共性的信息,它 ...
- 一篇文章搞定面试中的二叉树题目(java实现)
最近总结了一些数据结构和算法相关的题目,这是第一篇文章,关于二叉树的. 先上二叉树的数据结构: class TreeNode{ int val; //左孩子 TreeNode left; //右孩子 ...
- Centos7.2下安装redis&通用键值命令
Centos7.2下安装redis&通用键值命令 Centos7.2下安装redis 官方网站:https://redis.io/ 1.进入/usr/local/src/目录 cd /usr/ ...
- 修改dns访问android.com
1.几个常用dns服务器 8.8.8.8 美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器 8.8.4.4 美国 加利福尼亚州圣克拉拉县山景市谷歌公司DNS服务器 8.8.4.3 美国 加利福尼 ...
- adb logcat教程
1.速查 $adb logcat -g //打印和缓冲区使用情况 $adb logcat -c main //清除main缓存区 $adb logcat -v threadtime -f /data/ ...
- DNS递归查询、主从、加密认证、负载均衡
环境同DNS练习之正向解析. 在sishen64主机上安装必要软件 [root@sishen64 ~]# yum install -y bind bind-chroot bind-libs bind- ...
- VMwareworkstation 12安装
由于这篇博客中有大量截图,一个一个上传太累了,所以请点击以下链接进行查看 百度云:http://pan.baidu.com/s/1bQxPSi 这里直接粘贴文字可以,但是详细的截图贴不出来!
- JavaScript星级评分,仿百度,增强版
JavaScript星级评分,仿百度,增强版 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" & ...
- AS 开发环境配置
安装时不用设置代理(proxy). 建议选择标准安装,自定义安装容易选掉一些功能.插件. SDK Tools里的(HAXM installer)有时会未安装,安装完需检查(HAXM installer ...