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 ...
随机推荐
- iptables基本操作
一.基本操作 #启动防火墙 service iptables start #停止防火墙 service iptables stop #重启防火墙 service iptables restart #查 ...
- Instruments指南:如何调试内存泄露
Instruments指南:如何调试内存泄露 开篇 现在,你应该使用的ARC,而不是原来我们使用的MRC或者其他.但是我们在使用ARC的时候也会出现内存泄露的情况. 幸运的是,苹果为我们提供了Inst ...
- 【读书笔记】iOS-头文件导入-@class注意事项
一,导入头文件有两种不同的方法:使用引号或者使用尖括号,例如,#import <Cocoa/Cocoa.h>和#import "Tire.h".带尖括号的语句是用来导入 ...
- 斯坦福iOS7公开课1-3笔记及纸牌Demo
1.MVC Model:模型 描述程序是什么,例如数据库操作之类的行文以及纸牌Demo里纸牌玩法都是写在Model这一层,通过Notification和KVO(后续文章会介绍)两种方式与Control ...
- java注解框架
我们经常会在java代码里面看到:“@Override”,“@Target”等等样子的东西,这些是什么? 在java里面它们是“注解”. 下面是百度百科的解释:java.lang.annotation ...
- js地理位置获取、显示、轨迹绘制
JS新API标准 地理定位(navigator.geolocation) 基于 html5 geolocation来获取经纬度地址 Html5 Geolocation获取地理位置信息 HTML5获取地 ...
- win7 64位安装oracle10g出现未知错误,程序异常终止解决方法
修改Oracle 10G\database\stage\prereq\db\refhost.xml 在 </SYSTEM> <CERTIFIED_SYSTEMS>后面添加 &l ...
- Oracle查看所有用户
1.查看所有用户:select * from dba_users; select * from all_users; select * from user_users; 2.查看用户或角色系统 ...
- Android中的Shape使用总结
参考:http://www.cnblogs.com/gzggyy/archive/2013/05/17/3083218.html 在Android程序开发中,我们经常会去用到Shape这个东西去定义各 ...
- 迅为iTOP-4412核心板调整电压
本文转自:http://www.topeetboard.com iTOP-4412核心板使用的电源管理芯片是三星专门针对4412研发的S5M8767,8767提供9路BUCK和28路LDO输出,每路电 ...