Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pedromassango/bottom_navy_bar
A beautiful and animated bottom navigation
https://github.com/pedromassango/bottom_navy_bar
flutter flutter-apps flutter-material flutter-package flutter-plugin flutter-widget
Last synced: 3 days ago
JSON representation
A beautiful and animated bottom navigation
- Host: GitHub
- URL: https://github.com/pedromassango/bottom_navy_bar
- Owner: pedromassango
- License: apache-2.0
- Created: 2019-01-31T22:00:37.000Z (almost 6 years ago)
- Default Branch: master
- Last Pushed: 2024-12-14T13:47:16.000Z (about 1 month ago)
- Last Synced: 2025-01-16T04:03:47.556Z (10 days ago)
- Topics: flutter, flutter-apps, flutter-material, flutter-package, flutter-plugin, flutter-widget
- Language: Dart
- Homepage: https://youtu.be/jJPSKEEiN-E
- Size: 7.74 MB
- Stars: 1,053
- Watchers: 18
- Forks: 218
- Open Issues: 23
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Contributing: CONTRIBUTING.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
- awesome-flutter-cn - Bottom Navy Bar - 美丽多彩的动画底部导航栏,由[Pedro Massango](https://github.com/pedromassango)提供。 (组件 / UI)
- awesome-flutter-cn - Bottom Navy Bar - 带动效的多种颜色的精美底部导航栏,[Pedro Massango](https://github.com/pedromassango). (组件 / UI)
- awesome-made-by-angolans - bottom_navy_bar
- awesome-flutter - Bottom Navy Bar - A beautiful and animated bottom navigation ` 📝 2 days ago` (UI [🔝](#readme))
- awesome-flutter - Bottom Navy Bar - Beautiful and colorful animated bottom navigation bar by [Pedro Massango](https://github.com/pedromassango). (Components / UI)
README
![Pub](https://img.shields.io/pub/v/bottom_navy_bar)
![Widget Tests](https://github.com/pedromassango/bottom_navy_bar/workflows/Widget%20Tests/badge.svg?branch=master)[![Latest compatibility result for Stable channel](https://img.shields.io/endpoint?url=https://pub.green/packages/bottom_navy_bar/badge?channel=stable)](https://pub.green/packages/bottom_navy_bar)
[![Latest compatibility result for Beta channel](https://img.shields.io/endpoint?url=https://pub.green/packages/bottom_navy_bar/badge?channel=beta)](https://pub.green/packages/bottom_navy_bar)
[![Latest compatibility result for Dev channel](https://img.shields.io/endpoint?url=https://pub.green/packages/bottom_navy_bar/badge?channel=dev)](https://pub.green/packages/bottom_navy_bar)# BottomNavyBar
A beautiful and animated bottom navigation.
The navigation bar uses your current theme, but you are free to customize it.| Preview | PageView |
|---------|----------|
|![FanBottomNavyBar Gif](https://github.com/pedromassango/bottom_navy_bar/blob/master/images/navy.gif) | ![Fix Gif](https://github.com/pedromassango/bottom_navy_bar/blob/master/images/fix.gif) |## Customization (Optional)
### BottomNavyBar
- `iconSize` - the item icon's size
- `items` - navigation items, required more than one item and less than six
- `selectedIndex` - the current item index. Use this to change the selected item. Defaults to zero
- `onItemSelected` - required to listen when an item is tapped it provides the selected item's index
- `backgroundColor` - the navigation bar's background color
- `showElevation` - if false the appBar's elevation will be removed
- `mainAxisAlignment` - use this property to change the horizontal alignment of the items. It is mostly used when you have ony two items and you want to center the items
- `curve` - param to customize the item change's animation
- `containerHeight` - changes the Navigation Bar's height
- `showInactiveTitle` - use this property show a Inactive titles. Defaults to false.
### BottomNavyBarItem
- `icon` - the icon of this item
- `title` - the text that will appear next to the icon when this item is selected
- `activeColor` - the active item's background and text color
- `inactiveColor` - the inactive item's icon color
- `textAlign` - property to change the alignment of the item title
- `activeBackgroundColor` - the active item's background color
- `activeTextColor` - the active item's text color
- `tooltipText` - the tooltip text that will appear when the item is long pressed## Getting Started
Add the dependency in `pubspec.yaml`:
```yaml
dependencies:
...
bottom_navy_bar: ^6.0.0
```## Basic Usage
Adding the widget
```dart
bottomNavigationBar: BottomNavyBar(
selectedIndex: _selectedIndex,
showElevation: true, // use this to remove appBar's elevation
onItemSelected: (index) => setState(() {
_selectedIndex = index;
_pageController.animateToPage(index,
duration: Duration(milliseconds: 300), curve: Curves.ease);
}),
items: [
BottomNavyBarItem(
icon: Icon(Icons.apps),
title: Text('Home'),
activeColor: Colors.red,
),
BottomNavyBarItem(
icon: Icon(Icons.people),
title: Text('Users'),
activeColor: Colors.purpleAccent
),
BottomNavyBarItem(
icon: Icon(Icons.message),
title: Text('Messages'),
activeColor: Colors.pink
),
BottomNavyBarItem(
icon: Icon(Icons.settings),
title: Text('Settings'),
activeColor: Colors.blue
),
],
)
```## Use with PageView and PageController
```dart
class _MyHomePageState extends State {int _currentIndex = 0;
PageController _pageController;@override
void initState() {
super.initState();
_pageController = PageController();
}@override
void dispose() {
_pageController.dispose();
super.dispose();
}@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(title: Text("Bottom Nav Bar")),
body: SizedBox.expand(
child: PageView(
controller: _pageController,
onPageChanged: (index) {
setState(() => _currentIndex = index);
},
children: [
Container(color: Colors.blueGrey,),
Container(color: Colors.red,),
Container(color: Colors.green,),
Container(color: Colors.blue,),
],
),
),
bottomNavigationBar: BottomNavyBar(
selectedIndex: _currentIndex,
onItemSelected: (index) {
setState(() => _currentIndex = index);
_pageController.jumpToPage(index);
},
items: [
BottomNavyBarItem(
title: Text('Item One'),
icon: Icon(Icons.home)
),
BottomNavyBarItem(
title: Text('Item Two'),
icon: Icon(Icons.apps)
),
BottomNavyBarItem(
title: Text('Item Three'),
icon: Icon(Icons.chat_bubble)
),
BottomNavyBarItem(
title: Text('Item Four'),
icon: Icon(Icons.settings)
),
],
),
);
}
}
```## Author
- [Pedro Massango](https://github.com/pedromassango)
## Maintainers
- [Antonio Pedro](https://github.com/antonio-pedro99)
## Contributions
Contributions of any kind are more than welcome! Feel free to fork and improve in any way you want, make a pull request, or open an issue.
See [CONTRIBUTING.md](./CONTRIBUTING.md) for more info on how to contribute to this project.# License
This project is licensed under the Apache-2.0 License - see the [LICENSE](./LICENSE) file for details.