ss_bottom_navbar
Flutter modern bottom nav bar. Compatible with Android & iOS. You can customize it freely.
Getting Started
dependencies: ss_bottom_navbar: 0.1.0
$ flutter pub get
import 'package:ss_bottom_navbar/src/ss_bottom_navbar.dart';
Example
SSBottomNav
Usage
Create Items
final items = [ SSBottomNavItem(text: 'Home', iconData: Icons.home), SSBottomNavItem(text: 'Store', iconData: Icons.store), SSBottomNavItem(text: 'Add', iconData: Icons.add, isIconOnly: true), SSBottomNavItem(text: 'Explore', iconData: Icons.explore), SSBottomNavItem(text: 'Profile', iconData: Icons.person), ];
Create the state
SSBottomBarState _state = SSBottomBarState();
SSBottomNav(
items: items,
state: _state,
color: Colors.black,
selectedColor: Colors.white,
unselectedColor: Colors.black,
onTabSelected: (index) {
print(index);
setState(() {
_index = index;
});
}
),
With bottom sheet dialog
SSBottomNav(
items: items,
state: _state,
color: Colors.black,
selectedColor: Colors.white,
unselectedColor: Colors.black,
visible: isVisible,
bottomSheetWidget: Container(),
showBottomSheetAt: 2,
onTabSelected: (index) {}
),
Customization
| Name | Type | Description |
|---|---|---|
items | List<SSBottomNavItem> | list of SSBottomNavItem items |
state | SSBottomBarState | state of the bottome bar as ChangeNotifier |
iconSize | double | size of the icon on items |
backgroundColor | Color | background color of the widget |
color | Color | color of the slider |
selectedColor | Color | items’s color when selected |
unselectedColor | Color | items’s color when not selected |
onTabSelected | ValueChanged<int> | function that returns the index on tab selected |
shadow | List<BoxShadow> | shadow of the slider |
visible | bool | visibilty of the SSBottomNavItem |
bottomSheetWidget | Widget | child of the bottom sheet dialog |
showBottomSheetAt | int | the index of SSBottomNavItem to show the SSBottomNavItem |
bottomSheetHistory | bool | default true. option to go back previous tab if showBottomSheetAt pressed while SSBottomSheet showing |
dismissedByAnimation | ValueChanged<bool> | function that returns true if SSBottomSheet dismissed by animation |
SSBottomSheet
If you want to use SSBottomNav‘s bottom sheet dialog, you can do that with SSBottomSheet
Usage
SSBottomSheet.show(
context: context,
child: bottomSheet(),
onPressed: (offset) {}
);
bottomSheet() => Container(
color: Colors.white,
child: Column(
children: [
ListTile(
leading: Icon(Icons.camera_alt),
title: Text('Use Camera'),
),
ListTile(
leading: Icon(Icons.photo_library),
title: Text('Choose from Gallery'),
),
ListTile(
leading: Icon(Icons.edit),
title: Text('Write a Story'),
),
],
),
);
Dismiss the Bottom Sheet
Navigator.maybePop(context);
Customization
| Name | Type | Description |
|---|---|---|
Widget | child | child widget |
backgroundColor | Color | background color of the widget |
bottomMargin | double | margin from bottom acording to your bottom navbars height |
onPressed | ValueChanged<Offset> | returns Offset when tapped |
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.
Download Flutter modern bottom navbar source code on GitHub
https://github.com/NBK-Group/ss_bottom_navbar
Provides the list of the opensource Flutter apps collection with GitHub repository.