美文网首页React Native
React-native之开源Tab导航组件(17)

React-native之开源Tab导航组件(17)

作者: 飞奔的小马 | 来源:发表于2017-02-04 21:21 被阅读4232次
一. 简介

大多数应用都会有导航进行页面切换,React Native原生的控件仅有TabBarIOS可供iOS平台使用,如果想同时适配Android和IOS,最好使用第三方控件,比如:react-native-tab-navigator
地址:https://github.com/exponent/react-native-tab-navigator

二. 使用

(1)安装
在项目根目录下 使用命令行安装 npm install react-native-tab-navigator --save
(2)导入
import TabNavigator from 'react-native-tab-navigator';
(3)使用示例
class HomeUI extends Component { constructor(props) { super(props);//这一句不能省略,照抄即可 this.state={ selectedTab:'home'//默认选中home } } render(){ var homeView=( <View style={[styles.flex,styles.center,{backgroundColor: '#ffff0044'}]}> <Text style={{fontSize: 30}}>首页</Text> </View> ); var settingView=( <View style={[styles.flex,styles.center,{backgroundColor: '#ffff0044'}]}> <Text style={{fontSize: 30}}>设置</Text> </View> ); return ( <TabNavigator tabBarStyle={{ height: 60 }} > <TabNavigator.Item selected={this.state.selectedTab === 'home'} title="首页" //Tab文字 renderIcon={() => <Image style={styles.img} source={require('./home_tab_home_normal.png') }/>}//默认图标 renderSelectedIcon={() => <Image style={styles.img} source={require('./home_tab_home_pressed.png') }/>}//选中图标 badgeText="9+"//消息数目 onPress={() => this.setState({ selectedTab: 'home' })} > {homeView} </TabNavigator.Item> <TabNavigator.Item selected={this.state.selectedTab === 'setting'} title="设置" renderIcon={() => <Image style={styles.img} source={require('./home_tab_setting_normal.png') }/>} renderSelectedIcon={() => <Image style={styles.img} source={require('./home_tab_setting_pressed.png') }/>} onPress={() => this.setState({ selectedTab: 'setting' })} > {settingView} </TabNavigator.Item> </TabNavigator> ); } } const styles = StyleSheet.create({ flex:{ flex:1, }, center:{ justifyContent:'center', alignItems:'center' }, img: { width: 40, height: 33, }, });
效果

tab_navigator_01.png tab_navigator_02.png

相关文章

网友评论

  • zheng65312:react-native-tab-navigator 引入后 一直 报 undefined is not an object(evaluating'item.props.selected') 这个错误 实在找不到原因了 库的问题???
    红叶丶秋鸣:@zheng65312 用到了自定义方法吧,方法里面用到了this关键字吧,调用的时候未bind(this)
    飞奔的小马:我导入的没有错误啊

本文标题:React-native之开源Tab导航组件(17)

本文链接:https://www.haomeiwen.com/subject/vwdsittx.html