/react-native-material-tabs

Material Design implementation of Tabs

Primary LanguageJavaScriptMIT LicenseMIT

React Native Material Tabs

Material Design implementation of Tabs

Travis npm version npm downloads code style: prettier style: styled-components

Getting Started

Step 1

Install the dependency

npm i --save react-native-material-tabs

Or if you use yarn

yarn add react-native-material-tabs

Step 2

Start using the component

import MaterialTabs from 'react-native-material-tabs';

<MaterialTabs
  items={['One', 'Two', 'Three']}
  selectedIndex={this.state.selectedTab}
  onChange={index => this.setState({ selectedTab: index })}
/>;

Available Props

prop default type description
barColor #13897b string Color of the tab bar
indicatorColor #fff string Color of the indicator
activeTextColor #fff string Color of the text for the selected tab
inactiveTextColor rgba(255, 255, 255, 0.7) string Color of the text for inactive tabs
items none array(string) The headers for the individual tabs
selectedIndex 0 number The index of current tab selected. Indexes are mapped to the items prop
scrollable false boolean Option between having fixed tabs or scrollable tabs
textStyle null object(style) Text style for tab titles
activeTextStyle {} object(style) Optional text style for the selected tab
onChange none Function Handler that's emitted every time the user presses a tab. You can use this to change the selected index
allowFontScaling true boolean Specifies whether fonts should scale to respect Text Size accessibility settings
uppercase true boolean Specifies whether to uppercase the tab labels

Example

Alt Text

import React from 'react';
import { StyleSheet, Text, SafeAreaView } from 'react-native';
import MaterialTabs from 'react-native-material-tabs';

export default class Example extends React.Component {
  state = {
    selectedTab: 0,
  };

  setTab = selectedTab => {
    this.setState({ selectedTab });
  };

  render() {
    return (
      <SafeAreaView style={styles.container}>
        <MaterialTabs
          items={['One', 'Two', 'Three', 'Four', 'Five']}
          selectedIndex={this.state.selectedTab}
          onChange={this.setTab}
          barColor="#1fbcd2"
          indicatorColor="#fffe94"
          activeTextColor="white"
        />
      </SafeAreaView>
    );
  }
}

const styles = StyleSheet.create({
  container: {
    flex: 1,
  },
});