bottom_bar 1.2.2 bottom_bar: ^1.2.2 copied to clipboard
Bottom bar helps create an optimized bottom navigation bar with beautiful animations
Bottom Bar #
Bottom bar helps create an optimized bottom navigation bar with beautiful animations
Content #
Installation #
Add bottom_bar
to pubspec.yaml
dependencies:
bottom_bar: ^1.2.2
Parameters #
BottomBar #
Creates a BottomBar
that displays a list of BottomBarItem
selectedIndex
-Index
of selected itemcurve
-Curve
of animationduration
-Duration
of animationitems
- List of BottomBarItem to displayitemPadding
-Padding
between the background color and (Row
that contains icon and title)onTap
- Fires whenever aBottomBarItem
is tappedtextStyle
-TextStyle
oftitle
widget (Only applied when widget isText
)
BottomBarItem #
Contains information about the item that BottomBar has to display
icon
-Icon
ofBottomBarItem
title
-Title
ofBottomBarItem
activeColor
-Color
oficon
,title
, andbackground
ofBottomBarItem
during light mode when it is selecteddarkActiveColor
-Color
oficon
,title
, andbackground
ofBottomBarItem
during dark mode when it is selectedinactiveColor
-Color
oficon
,title
, andbackground
ofBottomBarItem
when it is not selected
Usage #
Import the Package #
import 'package:bottom_bar/bottom_bar.dart';
Example #
int _currentPage = 0;
final _pageController = PageController();
@override
Widget build(BuildContext context) {
return Scaffold(
body: PageView(
controller: _pageController,
children: [
Container(color: Colors.blue),
Container(color: Colors.red),
Container(color: Colors.greenAccent.shade700),
Container(color: Colors.orange),
],
onPageChanged: (index) {
// Use a better state management solution
// setState is used for simplicity
setState(() => _currentPage = index);
},
),
bottomNavigationBar: BottomBar(
selectedIndex: _currentPage,
onTap: (int index) {
_pageController.jumpToPage(index);
setState(() => _currentPage = index);
},
items: <BottomBarItem>[
BottomBarItem(
icon: Icon(Icons.home),
title: Text('Home'),
activeColor: Colors.blue,
),
BottomBarItem(
icon: Icon(Icons.favorite),
title: Text('Favorites'),
activeColor: Colors.red,
darkActiveColor: Colors.red.shade400, // Optional
),
BottomBarItem(
icon: Icon(Icons.person),
title: Text('Account'),
activeColor: Colors.greenAccent.shade700,
darkActiveColor: Colors.greenAccent.shade400, // Optional
),
BottomBarItem(
icon: Icon(Icons.settings),
title: Text('Settings'),
activeColor: Colors.orange,
),
],
),
);
}
Community Support #
If you have any suggestions or issues, feel free to open an issue
If you would like to contribute, feel free to create a PR