react-native底部导航栏实现

匿名 (未验证) 提交于 2019-12-03 00:17:01
  1. react-native-tab-navigator实现:

    bottom.js代码如下:

    

import React, {Component} from 'react'; import {StyleSheet, View,Text,Image} from 'react-native'; import TabNavigator from 'react-native-tab-navigator'   export default class Bottom extends Component {   /*初始化state*/   constructor(props){       super();       this.state={         selectedTab:'tb_msg',       }   }     /**      * 公共组件方法      * @param selectedTab 选中的tab      * @param title      * @param icon      * @param selectedIcon      * @param imageStyle  选中时渲染图标的颜色      * @param mark  角标      * @param viewContent  页面内容      * @returns {*}      */   tabNavigatorItems(selectedTab,title,icon,selectedIcon,imageStyle,mark,viewContent){       return (           <TabNavigator.Item               selected={this.state.selectedTab === selectedTab }               title={title}               renderIcon={()=> <Image style={styles.myImage} source={icon}/> }               renderSelectedIcon={()=> <Image style={[styles.myImage,{tintColor:imageStyle}]} source={selectedIcon}/> }               badgeText={mark}               onPress={()=> this.setState({selectedTab:selectedTab}) }>               <View style={{flex:1}}><Text>{viewContent}</Text></View>           </TabNavigator.Item>       )   }     render() {     return (       <View style={styles.container}>          <TabNavigator>             {this.tabNavigatorItems('tb_msg',"消息",require('../../assets/img/zhuye.png'),require("../../assets/img/zhuyesl.png"),'#622193',"","消息页面内容")}             {this.tabNavigatorItems('tb_contacts',"联系人",require('../../assets/img/zhuye.png'),require("../../assets/img/zhuye.png"),'#65bb74',"","联系人页面内容")}             {this.tabNavigatorItems('tb_watch',"看点",require('../../assets/img/zhuye.png'),require("../../assets/img/zhuye.png"),'#6ebef3',"","看点页面内容")}             {this.tabNavigatorItems('tb_dynamic',"动态",require('../../assets/img/zhuye.png'),require("../../assets/img/zhuye.png"),'#622193',"","动态页面内容")}          </TabNavigator>       </View>     );   } }   const styles = StyleSheet.create({     container: {         flex: 1,         backgroundColor: '#F5FCFF',     },     myImage:{         width:22,         height:22,     }  });

  

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!