# react-native-scrollable-tab-view **Repository Path**: rfpx/react-native-scrollable-tab-view ## Basic Information - **Project Name**: react-native-scrollable-tab-view - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2023-12-11 - **Last Updated**: 2024-11-29 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## react-native-scrollable-tab-view ## Add it to your project 1. Run `npm install react-native-scrollable-tab-view --save` 2. `import ScrollableTabView from 'react-native-scrollable-tab-view';` ## Basic usage ```javascript import ScrollableTabView from 'react-native-scrollable-tab-view'; const App = () => ( ); ``` ## Injecting a custom tab bar Suppose we had a custom tab bar called `ScrollableTabBar`, we would inject it into our `ScrollableTabView` like this: ```javascript import ScrollableTabView,{DefaultTabBar,ScrollableTabBar} from 'react-native-scrollable-tab-view'; const App = () => ( return( }> ) ); ``` To start you can just copy [DefaultTabBar](https://github.com/skv-headless/react-native-scrollable-tab-view/blob/master/DefaultTabBar.js). ## Props - **`renderTabBar`** _(Function:ReactComponent)_ - accept 1 argument `props` and should return a component to use as the tab bar. The component has `goToPage`, `tabs`, `activeTab` and `ref` added to the props, and should implement `setAnimationValue` to be able to animate itself along with the tab content. You can manually pass the `props` to the TabBar component. - **`tabBarPosition`** _(String)_ Defaults to `"top"`. - `"bottom"` to position the tab bar below content. - `"overlayTop"` or `"overlayBottom"` for a semitransparent tab bar that overlays content. Custom tab bars must consume a style prop on their outer element to support this feature: `style={this.props.style}`. - **`onChangeTab`** _(Function)_ - function to call when tab changes, should accept 1 argument which is an Object containing two keys: `i`: the index of the tab that is selected, `ref`: the ref of the tab that is selected - **`onScroll`** _(Function)_ - function to call when the pages are sliding, should accept 1 argument which is an Float number representing the page position in the slide frame. - **`locked`** _(Bool)_ - disables horizontal dragging to scroll between tabs, default is false. - **`initialPage`** _(Integer)_ - the index of the initially selected tab, defaults to 0 === first tab. - **`page`** _(Integer)_ - set selected tab(can be buggy see [#126](https://github.com/brentvatne/react-native-scrollable-tab-view/issues/126) - **`children`** _(ReactComponents)_ - each top-level child component should have a `tabLabel` prop that can be used by the tab bar component to render out the labels. The default tab bar expects it to be a string, but you can use anything you want if you make a custom tab bar. - **`tabBarUnderlineStyle`** _([View.propTypes.style](https://facebook.github.io/react-native/docs/view.html#style))_ - style of the default tab bar's underline. - **`tabBarBackgroundColor`** _(String)_ - color of the default tab bar's background, defaults to `white` - **`tabBarActiveTextColor`** _(String)_ - color of the default tab bar's text when active, defaults to `navy` - **`tabBarInactiveTextColor`** _(String)_ - color of the default tab bar's text when inactive, defaults to `black` - **`tabBarTextStyle`** _(Object)_ - Additional styles to the tab bar's text. Example: `{fontFamily: 'Roboto', fontSize: 15}` - **`style`** _([View.propTypes.style](https://facebook.github.io/react-native/docs/view.html#style))_ - **`contentProps`** _(Object)_ - props that are applied to root `ScrollView`/`ViewPagerAndroid`. Note that overriding defaults set by the library may break functionality; see the source for details. - **`scrollWithoutAnimation`** _(Bool)_ - on tab press change tab without animation. - **`prerenderingSiblingsNumber`** _(Integer)_ - pre-render nearby # sibling, `Infinity` === render all the siblings, default to 0 === render current page. **MIT Licensed**