A React Native segmented control component for both iOS and Android.
Install & Import:
# Yarn $ yarn add rn-segmented-control # NPM $ npm i rn-segmented-control --save # Dependency $ npm i prop-types
import React from 'react'; import { StyleSheet, Text, View } from 'react-native'; import SegmentedControl from 'rn-segmented-control';
Basic Usage:
const AppRoot = () => { const [tabIndex, setTabIndex] = React.useState(1); const handleTabsChange = index => { setTabIndex(index); }; return ( <View style={styles.container}> <Text style={styles.textStyle}>Hello,World !</Text> <Text style={styles.textStyle}> Segmented Control with 2 labels</Text> <SegmentedControl tabs={['Label', 'Label']} onChange={() => { }} paddingVertical={6} /> <Text style={styles.textStyle}> Segmented Control with 3 labels</Text> <SegmentedControl tabs={['Label', 'Label', 'Label']} onChange={() => { }} paddingVertical={10} /> <Text style={styles.textStyle}> Segmented Control with 4 labels</Text> <SegmentedControl tabs={['Label', 'Label', 'Label', 'Label']} onChange={() => { }} paddingVertical={14} /> <Text style={styles.textStyle}>Customised Segmented Control</Text> <SegmentedControl tabs={['Shop', 'Discover', 'Brands']} currentIndex={tabIndex} onChange={handleTabsChange} segmentedControlBackgroundColor='#86c4fd' activeSegmentBackgroundColor='#0482f7' activeTextColor='white' textColor='black' paddingVertical={18} /> </View> ) } const styles = StyleSheet.create({ container: { flex: 1, justifyContent: 'center', alignItems: 'center', marginHorizontal: 16, }, textStyle: { fontSize: 24, textAlign: 'center', paddingVertical: 10 } }) export default AppRoot;
Preview:
Download Details:
Author: Karthik-B-06
Live Demo: View The Demo
Download Link: Download The Source Code
Official Website: https://github.com/Karthik-B-06/react-native-segmented-control
License: MIT