Add A Premier Bottom Navigation Bar With this Flutter Plugin in Your Flutter App
At the bottom of the screen, bottom navigation bars shows three to five locations. Each destination is represented by an icon and a written label, which is optional. When a user taps a bottom navigation icon, they are sent to the top-level navigation destination that icon represents.
With the help of this flutter plugin you can add attractive and slick Bottom Navigation Bar to your flutter app.
FancyBottomNavigation
Contents
Getting Started
Add the plugin (pub coming soon):
dependencies: ... fancy_bottom_navigation: ^0.3.2
Limitations
For now this is limited to more than 1 tab, and less than 5. So 2-4 tabs.
Basic Usage
Adding the widget
bottomNavigationBar: FancyBottomNavigation( tabs: [ TabData(iconData: Icons.home, title: "Home"), TabData(iconData: Icons.search, title: "Search"), TabData(iconData: Icons.shopping_cart, title: "Basket") ], onTabChangedListener: (position) { setState(() { currentPage = position; }); }, )
TabData
iconData -> Icon to be used for the tab
title -> String to be used for the tab
onClick -> Optional function to be used when the circle itself is clicked, on an active tab
Attributes
required
tabs -> List of TabData
objects
onTabChangedListener -> Function to handle a tap on a tab, receives int position
optional
initialSelection -> Defaults to 0
circleColor -> Defaults to null, derives from Theme
activeIconColor -> Defaults to null, derives from Theme
inactiveIconColor -> Defaults to null, derives from Theme
textColor -> Defaults to null, derives from Theme
barBackgroundColor -> Defaults to null, derives from Theme
key -> Defaults to null
Theming
The bar will attempt to use your current theme out of the box, however you may want to theme it. Here are the attributes:
Programmatic Selection
To select a tab programmatically you will need to assign a GlobalKey to the widget. When you want to change tabs you will need to access the State using this key, and then call setPage(position)
.
See example project, main.dart, line 75 for an example.
Showcase
Using this package in a live app, let me know and I’ll add you app here.
Inspiration
This package was inspired by a design on dribbble by Manoj Rajput:
https://dribbble.com/shots/5419022-Tab
GitHub
Source Code: FancyBottomNavigation.