1.0.5 • Published 7 years ago

rn-tab-bar v1.0.5

Weekly downloads
2
License
MIT
Repository
github
Last release
7 years ago

rn-tab-bar

Example One

React-Native tab bar, optional text with icons as well.

Can use local icons or Font Awesome icons

npm install rn-tab-bar --save npm install react-native-vector-icons --save react-native link

Props

PropTypeDescriptionRequired
tabsarray of objectsthe tabs to render SEE TAB STRUCTUREYES
containerStyleobjectstyles applied to the tab bar containerYES

Tab Structure

KeyValueDescriptionRequired
localIconbooleanrender a local icon in lieu of FontAwesome iconYES
iconPropsicon or image propstransfers props to an Image or FontAwesome Icon depending on the aboveYES
onPressfunctioncalled when the tab is pressed, use this to update you component to respond to tab changesYES
textstringoptionally display text under the iconno
textPropsText propsany valid Text propsno
tabStyleobjectoptionally add styles to the individual tabs
badgestring or nulladd a badge to the tabsno
badgeTextPropsText propsany valid Text propsno

Example

import React from 'react';
import {
  View,
} from 'react-native'

import TabBar from 'rn-tab-bar';

export default class Example extends React.Component {
  constructor(){
    this.selectTab = this.selectTab.bind(this);
    super();
    this.state = {
      selectedTabs: {one:true,two:false,three:false,four:false},
    };
  };

  selectTab(tab){
    let tabs = this.state.selectedTabs;
    for (var i in tabs) {
      ( i === tab ) ? tabs[i] = true:tabs[i] = false
    };
    this.setState({selectedTabs:tabs});
  };

  render(){
    return(

      <View style={{flex:1}}>
        <View style={{flex:1}} />
        <TabBar
          containerStyle={{
            borderTopWidth: 1,
            height:50
          }}
          tabs={[
            {
              localIcon:false,
              iconProps:{
                name: 'bicycle',
                size: 30,
                color: this.state.selectedTabs.one ? 'blue':'gray'
              },
              onPress: () => this.selectTab('one')
            },
            {
              localIcon: false,
              iconProps:{
                name: 'cogs',
                size: 30,
                color: this.state.selectedTabs.two ? 'blue':'gray'
              },
              onPress: () => this.selectTab('two')
            },
            {
              localIcon:false,
              iconProps:{
                name: 'users',
                size: 30,
                color: this.state.selectedTabs.three ? 'blue':'gray'
              },
              onPress: () => this.selectTab('three')
            },
            {
              localIcon: false,
              iconProps:{
                name: 'bars',
                size: 30,
                color: this.state.selectedTabs.four ? 'blue':'gray'
              },
              onPress: () => this.selectTab('four')
            },
          ]}
        />      
      </View>
    )
  };



};
1.0.5

7 years ago

1.0.4

7 years ago

1.0.3

7 years ago

1.0.2

8 years ago

1.0.1

8 years ago

1.0.0

8 years ago