@mindinventory/react-native-tab-bar-interaction
v2.2.3
Published
An animated bottom tabbar component for React Native.
Downloads
208
Readme
React Native Tabbar Interaction
Beautiful Tabbar Interaction with Sliding Inset FABs, made with React Native.
Check it out on Béhance (https://www.behance.net/gallery/68043143/Tab-bar-interaction-with-animated-icons)
Check it out on Dribbble (https://dribbble.com/shots/4844696-Tab-bar-interaction-with-animated-icons)
Installation
using npm:
npm install @mindinventory/react-native-tab-bar-interaction
using yarn:
yarn add @mindinventory/react-native-tab-bar-interaction
Dependencies
react-native-svg
react-native-svg-transformer
Configure dependencies in file metro.config.js update this module export.
const { getDefaultConfig } = require("metro-config");
module.exports = (async () => {
const {
resolver: { sourceExts, assetExts }
} = await getDefaultConfig();
return {
transformer: {
babelTransformerPath: require.resolve("react-native-svg-transformer")
},
resolver: {
assetExts: assetExts.filter(ext => ext !== "svg"),
sourceExts: [...sourceExts, "svg"]
}
};
})();
create one declarations.d.ts in your root directory.
declare module "*.svg" {
import React from 'react';
import { SvgProps } from "react-native-svg";
const content: React.FC<SvgProps>;
export default content;
}
Supported platform
- Android
- Ios
Usage
import Tabbar from "@mindinventory/react-native-tab-bar-interaction";
...
const tabs = [
{
name: 'Home',
activeIcon: <Icon name="home" color="#fff" size={25} />,
inactiveIcon: <Icon name="home" color="#4d4d4d" size={25} />
},
{
name: 'list',
activeIcon: <Icon name="list-ul" color="#fff" size={25} />,
inactiveIcon: <Icon name="list-ul" color="#4d4d4d" size={25} />
},
{
name: 'camera',
activeIcon: <Icon name="camera" color="#fff" size={25} />,
inactiveIcon: <Icon name="camera" color="#4d4d4d" size={25} />
},
{
name: 'Notification',
activeIcon: <Icon name="bell" color="#fff" size={25} />,
inactiveIcon: <Icon name="bell" color="#4d4d4d" size={25} />
},
{
name: 'Profile',
activeIcon: <Icon name="user" color="#fff" size={25} />,
inactiveIcon: <Icon name="user" color="#4d4d4d" size={25} />
},
];
...
return (
<Tabbar
tabs={tabs}
tabBarContainerBackground='#6699ff'
tabBarBackground='#fff'
activeTabBackground='#6699ff'
labelStyle={{ color: '#4d4d4d', fontWeight: '600', fontSize: 11 }}
onTabChange={() => console.log('Tab changed')}
/>
);
Component props
Tabbar
| prop | value | required/optional | description | | -------------------------- | -------- | ----------------- | -------------------------------------------------------------------- | | tabs | array | required | It is user for showing icon and label. | | tabBarContainerBackground | string | optional | Use for change tabBar container color. | | tabBarBackground | string | required | Use for change tabBar background color. | | activeTabBackground | string | optional | Use for change active tab background color. | | labelStyle | style | optional | Use for apply style on tab label. | | onTabChange | function | optional | Use to perform any action when click on tab. | | containerBottomSpace | number | optional | Use to add space between tabBar container and from bottom of screen. | | containerWidth | number | optional | Use for set width of tabBar container | | containerTopRightRadius | number | optional | Use for add top right radius on tabBar container | | containerTopLeftRadius | number | optional | Use for add top left radius on tabBar container | | containerBottomLeftRadius | number | optional | Use for add bottom left radius on tabBar container | | containerBottomRightRadius | number | optional | Use for add bottom right radius on tabBar container | | defaultActiveTabIndex | number | optional | Use to set default active tab | | transitionSpeed | number | optional | Use to set transition speed |
tabs
| properties | value | required/optional | description | | ------------ | --------- | ----------------- | -------------------------------------------- | | name | string | required | use for showing tab label. | | activeIcon | component | required | Use for showing tab active icon/image. | | inactiveIcon | component | required | Use for showing tab inactiveIcon icon/image. |
Version Migration
Version: 2.2.2
How to migrate version 1.0.0 to 2.1.2+.
LICENSE!
React-native-tabbar-interaction is MIT-licensed.
Let us know!
We’d be really happy if you send us links to your projects where you use our component. Just send an email to [email protected] And do let us know if you have any questions or suggestion regarding our work.