Material Design implementation of Tabs
Install the dependency
npm i --save react-native-material-tabs
Or if you use yarn
yarn add react-native-material-tabs
Start using the component
import MaterialTabs from 'react-native-material-tabs';
import React, { useState } from 'react';
import { StyleSheet, SafeAreaView } from 'react-native';
import MaterialTabs from 'react-native-material-tabs';
const Example = () => {
const [selectedTab, setSelectedTab] = useState(0);
return (
<SafeAreaView style={styles.container}>
<MaterialTabs
items={['One', 'Two', 'Three', 'Four', 'Five']}
selectedIndex={selectedTab}
onChange={setSelectedTab}
barColor="#1fbcd2"
indicatorColor="#fffe94"
activeTextColor="white"
/>
</SafeAreaView>
);
};
const styles = StyleSheet.create({
container: {
flex: 1,
},
});
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 | element) |
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 |
keyboardShouldPersistTaps | never | string | Specifies how the ScrollView should respond to taps while keyboard is open |