All Projects → junhoyeo → react-native-bubble-tabbar

junhoyeo / react-native-bubble-tabbar

Licence: MIT license
🧼 Bubble Tab Bar Component for React Native which supports React Navigation V5 and TypeScript

Programming Languages

typescript
32286 projects
java
68154 projects - #9 most used programming language
objective c
16641 projects - #2 most used programming language
Starlark
911 projects
ruby
36898 projects - #4 most used programming language
javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to react-native-bubble-tabbar

React Native Tabbar Interaction
Tabbar Component For React-Native
Stars: ✭ 457 (+962.79%)
Mutual labels:  tabbar, react-native-component
TabBar
📱 TabBar – highly customizable tab bar for your SwiftUI application.
Stars: ✭ 105 (+144.19%)
Mutual labels:  tabbar, tab-bar
clipped-tabbar
No description or website provided.
Stars: ✭ 58 (+34.88%)
Mutual labels:  tabbar
react-native-segment-controller
A react-native segment controller(Tab) for both ios and android.
Stars: ✭ 18 (-58.14%)
Mutual labels:  tabbar
react-native-uiw
A UI component library based on React Native (Android & iOS).
Stars: ✭ 28 (-34.88%)
Mutual labels:  react-native-component
KPSmartTabBar
A fully customisable and flexible tab bar controller
Stars: ✭ 37 (-13.95%)
Mutual labels:  tabbar
react-native-select-pro
React Native dropdown (select) component developed by Mobile Reality
Stars: ✭ 79 (+83.72%)
Mutual labels:  react-native-component
react-native-image-blur-shadow
A React Native Image component with Blur Drop Shadows,100% JavaScript, 0 dependency component. Supports Android, iOS and Web. A light weight <Image/> component for your react native project.
Stars: ✭ 80 (+86.05%)
Mutual labels:  react-native-component
react-native-swipe-action-list
A list view that supports swipe actions for React Native (Android & iOS).
Stars: ✭ 18 (-58.14%)
Mutual labels:  react-native-component
MightyTabBar
How tab bars should work.
Stars: ✭ 72 (+67.44%)
Mutual labels:  tabbar
react-native-card-list
A React Native component which displays a list of image cards that zoom to fullscreen
Stars: ✭ 19 (-55.81%)
Mutual labels:  react-native-component
MaterialesqueTabBar
UIViewController featuring a customisable Tab Bar working with a UIPageViewController.
Stars: ✭ 17 (-60.47%)
Mutual labels:  tabbar
react-native-chat-ui
Actively maintained, community-driven chat UI implementation with an optional Firebase BaaS.
Stars: ✭ 168 (+290.7%)
Mutual labels:  react-native-component
react-native-window-guard
SafeAreaView alternative for React Native which provides relevant window insets for both iOS and Android.
Stars: ✭ 30 (-30.23%)
Mutual labels:  react-native-component
Flutter-Bottom-Tab-Bar
No description or website provided.
Stars: ✭ 72 (+67.44%)
Mutual labels:  tabbar
QWTabBarTemplate.xctemplate
自定义模版 快速创建带有导航栏和工具栏的工程
Stars: ✭ 44 (+2.33%)
Mutual labels:  tabbar
react-native-carousel-component
React Native Carousel Component for IOS & Android
Stars: ✭ 61 (+41.86%)
Mutual labels:  react-native-component
react-native-radio-buttons-group
Simple, best and easy to use radio buttons for react native apps.
Stars: ✭ 145 (+237.21%)
Mutual labels:  react-native-component
react-native-masonry-brick-list
Staggered Or Masonary List View For React Native Written in pure js
Stars: ✭ 24 (-44.19%)
Mutual labels:  react-native-component
TabBarInteraction
A tab bar example that animate based on user interaction
Stars: ✭ 72 (+67.44%)
Mutual labels:  tabbar

🧼 react-native-bubble-tabbar

cover with mockup
npm version weekly downloads npm bundle size license
NPM

Bubble Tab Bar Component for React Native which supports React Navigation V5 and TypeScript

🚀 Action

showcase about how it works

📦 Installation

npm install react react-native styled-components
# Or using yarn
yarn add react react-native styled-components

First, you should install peerdependencies as the command above. You might already installed react and react-native. If you're using TypeScript, it is recommended to install the typings for the each package, too.

npm install react-native-bubble-tabbar
# Or using yarn
yarn add react-native-bubble-tabbar

Finally, install this module and you're ready to go! 🎉

🐋 Usage

import {
  faHome,
  faHeart,
  faCommentAlt,
  faBars,
} from '@fortawesome/free-solid-svg-icons';
import { FontAwesomeIcon } from '@fortawesome/react-native-fontawesome';
import { BottomTabBarProps } from '@react-navigation/bottom-tabs';
import React from 'react';
import BubbleTabBar, {
  IBubbleTabConfig,
  IIconRenderer,
} from 'react-native-bubble-tabbar';

const tabs: IBubbleTabConfig[] = [
  {
    activeColor: '#cc0066',
    activeBackgroundColor: '#f76a8c',
    activeIcon: faHome,
  },
  {
    activeColor: '#ff6f5e',
    activeBackgroundColor: '#f8dc88',
    activeIcon: faHeart,
  },
  {
    activeColor: '#1eb2a6',
    activeBackgroundColor: '#ccf0e1',
    activeIcon: faCommentAlt,
  },
  {
    activeColor: '#4d80e4',
    activeBackgroundColor: '#9aceff',
    activeIcon: faBars,
    name: 'Last',
  },
];

const fontAwesomeIconRenderer = ({ icon, color }: IIconRenderer) =>
  <FontAwesomeIcon
    icon={icon}
    color={color}
    size={18}
  />;

const CustomTabBar: React.FC<BottomTabBarProps> = ({
  state, descriptors, navigation,
}) => {
  return (
    <BubbleTabBar
      state={state}
      descriptors={descriptors}
      navigation={navigation}
      tabs={tabs}
      iconRenderer={fontAwesomeIconRenderer}
    />
  );
};

const Tab = createBottomTabNavigator();

const MainNavigator: React.FC = () => {
  return (
    <Tab.Navigator
      tabBar={({ state, descriptors, navigation }) =>
        <CustomTabBar
          state={state}
          descriptors={descriptors}
          navigation={navigation}
        />
      }
    >
      <Tab.Screen name="One" component={ScreenOne} />
      <Tab.Screen name="Two" component={ScreenTwo} />
      <Tab.Screen name="Three" component={ScreenThree} />
      <Tab.Screen name="Four" component={ScreenFour} />
      <Tab.Screen
        name="ThisRouteDoesNotShowBecauseOnlyFourObjectsAreInTabs"
        component={ScreenHiddenFromTabBar}
      />
    </Tab.Navigator>
  );
};

✔️ tabs Props

name

Override prop name on <Tab.Screen /> component

Type Required
string No

activeColor

Color for active tab text and icon

Type Required
string Yes

activeBackgroundColor

BackgroundColor for active tab

Type Required
string Yes

inactiveColor

Color & background color for inactive tab

Type Required
string No

activeIcon

Icon name for active tab

Type Required
string No

disabledIcon

Icon name for inactive tab

Type Required
string No

✔️ iconRenderer Props

Function with params

icon

Icon name to pass on Icon Component


color

Icon color to pass on Icon Component

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].