react-native-tab-navigator底部导航

前端之家收集整理的这篇文章主要介绍了react-native-tab-navigator底部导航前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
  1. github地址:https://github.com/exponentjs/react-native-tab-navigator
  2. 终端运行:npm install react-native-tab-navigator –save下载
  3. 项目中导入
    import TabNavigator from 'react-native-tab-navigator';
  4. 在render方法当中使用它:
  1. render() {
  2. return (
  3. <View style={styles.container} >
  4. <TabNavigator>
  5. <TabNavigator.Item
  6. selected={this.state.selectedTab === '首页'}
  7. title="首页"
  8. titleStyle={styles.tabText}
  9. selectedTitleStyle={styles.selectedTabText}
  10. renderIcon={() => <Image style={styles.icon} source={require("/images/ic_home_normal.png")} />}
  11. renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_home_checked.png")} />}
  12. onPress={() => this.setState({ selectedTab: '首页' })}>
  13. <HomeComponent/>
  14. </TabNavigator.Item>
  15. <TabNavigator.Item
  16. selected={this.state.selectedTab === '消息'}
  17. title="消息"
  18. titleStyle={styles.tabText}
  19. selectedTitleStyle={styles.selectedTabText}
  20. renderIcon={() => <Image style={styles.icon} source={require("/images/ic_message_normal.png")} />}
  21. renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_message_checked.png")} />}
  22. onPress={() => this.setState({ selectedTab: '消息' })}>
  23. <MessageComponent />
  24. </TabNavigator.Item>
  25. <TabNavigator.Item
  26. selected={this.state.selectedTab === '联系人'}
  27. title="联系人"
  28. titleStyle={styles.tabText}
  29. selectedTitleStyle={styles.selectedTabText}
  30. renderIcon={() => <Image style={styles.icon} source={require("/images/ic_contacts_normal.png")} />}
  31. renderSelectedIcon={() => <Image style={styles.icon} source={require("/images/ic_contacts_checked.png")} />}
  32. onPress={() => this.setState({ selectedTab: '联系人' })}>
  33. <ContactComponent />
  34. </TabNavigator.Item>
  35. </TabNavigator>
  36. </View>
  37. );
  38. }

其中可以自定义选中与未选中text和图标的样式,是不是很方便。
HomeComponent, MessageComponent,ContactComponent为子页面,也要先import
5. styles:

  1. let styles = StyleSheet.create({
  2. container: {
  3. flex: 1
  4. },tabText: {
  5. color: "#000000",fontSize: 13
  6. },selectedTabText: {
  7. color: "#999999",icon: {
  8. width: 20,height: 20
  9. }
  10. });

6. 设置默认页:
  1. constructor(props){
  2. super(props);
  3. this.state={
  4. selectedTab:'首页',//默认页面为“首页
  5. }
  6.  
  7. }

猜你在找的React相关文章