react native 底部按钮切换
在react native 中底部按钮的切换 主要的是运用的是
第一种方法:<TabBarNavigator/>这个组件,具体的代码实现如下:
render() {
return (
<TabBarNavigator
navTintColor='#fff'
navBarTintColor='#333'
tabTintColor='#649F0C'
tabBarTintColor='#f0f0f0'>
<TabBarNavigator.Item title='最新' defaultTab icon={require('image!newest')}>
<HomePage />
</TabBarNavigator.Item>
<TabBarNavigator.Item title='往期' icon={require('image!old')}>
<HistoryPage />
</TabBarNavigator.Item>
<TabBarNavigator.Item title='搜索' icon={require('image!search')}>
<SearchPage />
</TabBarNavigator.Item>
<TabBarNavigator.Item title='我的' icon={require('image!my')}>
<MinePage />
</TabBarNavigator.Item>
<TabBarNavigator.Item title='我的' icon={require('image!my')}>
<MinePage />
</TabBarNavigator.Item>
</TabBarNavigator>
)
}
需要注意的是:小编到现在还不知道底端按钮点击是变色是怎么设置的,还没有找到相应的代码,系统默认是变成蓝色
另一种实现方法, 参考 http://www.oschina.net/translate/going-native-with-react
第二种方法,是运用组件<TabNavigator>
1、首先当然是在项目中装入插件
react-native-tab-navigator, 安装代码 npm install react-native-tab-navigator --save
2、创建component 时,先初始化按钮的默认的颜色与点击后的颜色
static defaultProps={
selectedColor:'#1683FB',
narmalColor:'#a9a9a9'
};
3、其次设置按钮的name
constructor (props){
super(props);
this.state={
selectedTab:'home',
tabName:['标题','标题','标题','标题']
}
}
4、核心代码:
render() {
const {tabName} = this.state;
return(
<TabNavigator
hidesTabTouch ={true}
tabBarStyle={styles.tabbar}
scenceStyle={styles.scence} >
<TabNavigator.Item
tabStyle={styles.tabStyle}
title={tabName[0]}
selected={this.state.selectedTab==='home'}
selectedTitleStyle={{color:"#1683FB"}}
renderIcon={()=><Image style={styles.tab} source={ require('../img/iconfont-qiandao.png')} />}
onPress={()=> this.setState({selectedTab:'home'})}>
{<Home/>}
</TabNavigator.Item>
<TabNavigator.Item
tabStyle={styles.tabStyle}
title={tabName[1]}
selected={this.state.selectedTab==='compass'}
selectedTitleStyle={{color:"#1683FB"}}
renderIcon={()=><Image style={styles.tab} source={ require('../img/iconfont-qiandao.png')} />}
onPress={()=> this.setState({selectedTab:'compass'})}
>
{<Text>标题2</Text>}
</TabNavigator.Item>
<TabNavigator.Item
tabStyle={styles.tabStyle}
title={tabName[2]}
selected={this.state.selectedTab==='notification'}
selectedTitleStyle={{color:"#1683FB"}}
renderIcon={()=><Image style={styles.tab} source={ require('../img/iconfont-qiandao.png')} />}
onPress={()=> this.setState({selectedTab:'notification'})}
>
{<Text>标题3</Text>}
</TabNavigator.Item>
<TabNavigator.Item
tabStyle={styles.tabStyle}
title={tabName[3]}
selected={this.state.selectedTab==='me'}
selectedTitleStyle={{color:"#1683FB"}}
renderIcon={()=><Image style={styles.tab} source={ require('../img/iconfont-qiandao.png')} />}
onPress={()=> this.setState({selectedTab:'me'})}
>
{<Text>标题4</Text>}
</TabNavigator.Item>
</TabNavigator>
);
}
}
react native 底部按钮切换的更多相关文章
- Android控件Gridview实现仿支付宝首页,Fragment底部按钮切换和登录圆形头像
此案例主要讲的是Android控件Gridview(九宫格)完美实现仿支付宝首页,包含添加和删除功能:Fragment底部按钮切换的效果,包含四个模块,登录页面圆形头像等,一个小项目的初始布局. 效果 ...
- react native底部tab栏切换
1.安装tab栏插件 npm i react-native-tab-navigator --save 2.引入对应的组件和tab插件 import { Platform, StyleSheet, Te ...
- flutter 底部按钮切换页面
界面如图: 我们就从上节里面的app.dartt修改 目录:lib lib/story 其它两个目录一样. 图片配置一下 app.dart import 'package:flutter/materi ...
- React Native 底部导航栏
首先安装:npm install react-native-tab-navigator 然后再引入文件中 import TabNavigator from 'react-native-tab ...
- React Native(十一)——按钮重复点击事件的处理
最初开始做后台管理系统的时候,就曾遇到过这样一种场景:"快速点击确认按钮,就会对此触发确认事件,导致多次请求数据库":于是最终我们得当的通过处理那个确认button,解决了上述问题 ...
- React Native 简介:用 JavaScript 搭建 iOS 应用(2)
[编者按]本篇文章的作者是 Joyce Echessa--渥合数位服务创办人,毕业于台湾大学,近年来专注于协助客户进行 App 软体以及网站开发.本篇文章中,作者介绍通过 React Native 框 ...
- 深入浅出React Native 2: 我的第一个应用
这是深入浅出React Native教程的第二篇文章. 1. 环境配置 React Native环境配好之后,就可以开始创建我们的第一个App啦. 打开控制台,输入 react-native init ...
- [RN] React Native 下实现底部标签(支持滑动切换)
上一篇文章 [RN] React Native 下实现底部标签(不支持滑动切换) 总结了不支持滑动切换的方法,此篇文章总结出 支持滑动 的方法 准备工作之类的,跟上文类似,大家可点击上文查看相关内容. ...
- [RN] React Native FlatList跳转到顶部/底部
React Native FlatList跳转到顶部/底部 核心代码如下: <ScrollView showsVerticalScrollIndicator={false} contentCon ...
随机推荐
- AFNetworking使用方法
官网下载2.5版本:http://afnetworking.com/ 此文章是基于AFNetworking2.5版本的,需要看AFNetworking2.0版本的请看上一篇文章:AFNetworkin ...
- mod_slotmem mod_manager mod_proxy_cluster mod_advertise Permission denied
restorecon /etc/httpd/modules/mod_slotmem.so
- Method threw 'org.hibernate.exception.SQLGrammarException' exception. Cannot evaluate com.hotel.Object_$$_jvst485_15.toString()
数据库字段和类Object属性不匹配,Method threw 'org.hibernate.exception.SQLGrammarException' exception. Cannot eval ...
- 记录ConcurrentHashMap的锁分离技术
对比上图,HashTable实现锁的方式是锁整个hash表,而ConcurrentHashMap的实现方式是锁桶(简单理解就是将整个hash表想象成一大缸水,现在将这大缸里的水分到了几个水桶里,has ...
- [Jmeter]打开jmeter.bat报错的解决思路与方法
解决过程: 打开apache-jmeter-3.0的jmeter.bat时,报错如下: 查看报错信息,应该是属于环境变量配置问题. 因此加上jave_home的路径语句在jmeter.bat文件上: ...
- OOD沉思录 --- 类和对象的关系 --- 包含关系3
4.7 类包含的对象数目不应当超过开发者短期记忆数量,这个数目通常应该是6左右 4.8 让系统在窄而深的包含体系中垂直分布 假设有如下两份菜单: 正餐 --->甜瓜 --->牛排 ---& ...
- 用C#实现RSS的生成和解析,支持RSS2.0和Atom格式
RSS已经非常流行了,几乎所有有点名气的和没名气的网站都有提供RSS服务. 本文详细教你什么是RSS,如是在.Net中使用RSS. 1.那么什么是RSS呢? RSS是一种消息来源格式规范,用以发布经常 ...
- 【mysql】关于IO/内存方面的一些优化
这里使用的是mysql Ver 14.14 Distrib 5.6.19, for Linux (i686) using EditLine wrapper 一.mysql目录文件 ibdata1: ...
- 深入PHP内核之ZVAL
一.PHP的变量类型 PHP的变量类型有8种: 标准类型:布尔boolen,整型integer,浮点float,字符string 复杂类型:数组array,对象object 特殊类型:资源resour ...
- logDemo
package com.log; import java.io.IOException; import javax.servlet.ServletException; import javax.ser ...