animated_bubble_navigation_bar 1.0.3
animated_bubble_navigation_bar: ^1.0.3 copied to clipboard
A custom animated bottom navigation bar widget for Flutter apps.
π«§ Animated Bubble Navigation Bar #
A lightweight, customizable, and responsive bottom navigation bar for Flutter with smooth bubble animations.
Perfect for modern apps with stylish transitions, adaptive layouts, and full customization.
πΈ Preview #
Demo | Preview |
---|---|
π‘ Default Bubble Animation | ![]() |
π¨ Custom Icons & Labels | ![]() |
π± Responsive Across Devices | ![]() |
π Seamless Tab Switching | ![]() |
π§± Square/Alternative Layouts | ![]() |
β¨ Features #
- πΉ Clean, modern design
- π«§ Bubble-style animations
- π Fully customizable (icons, labels, colors, shape)
- π Seamless tab switching
- π± Responsive across devices (phones & tablets)
- π§© Easy integration & minimal setup
π Getting Started #
1οΈβ£ Add to pubspec.yaml
#
dependencies:
animated_bubble_navigation_bar: ^<latest_version>
2οΈβ£ Import the package #
import 'package:animated_bubble_navigation_bar/animated_bubble_navigation_bar.dart';
3οΈβ£ Basic Usage #
Scaffold(
body: AnimatedBubbleNavBottomBar(
screens: [
Screen1(),
Screen2(),
Screen3(),
],
menuItems: [
BottomNavItem(label: "Home", icon: Icons.home),
BottomNavItem(label: "Settings", icon: Icons.settings),
BottomNavItem(label: "Profile", icon: Icons.person),
],
bobbleDecoration: BubbleDecoration(), // Decoration
),
);
4οΈβ£ Styling Colors and Icons #
bubbleDecoration: BubbleDecoration(
// Background color of the bar
backgroundColor: Colors.deepPurple,
// Bubble/Item colors
selectedBubbleBackgroundColor: Colors.white,
unSelectedBubbleBackgroundColor: Colors.grey.shade800,
// Label colors
selectedBubbleLabelColor: Colors.black,
unSelectedBubbleLabelColor: Colors.white70,
// Icon colors
selectedBubbleIconColor: Colors.black,
unSelectedBubbleIconColor: Colors.white,
// Label style
labelStyle: TextStyle(fontSize: 13, fontWeight: FontWeight.w600),
// Icon size
iconSize: 28,
),
5οΈβ£ Advance Layout and Behavior #
bubbleDecoration: BubbleDecoration(
// Space between icon and label
innerIconLabelSpacing: 6,
// Size of bubble item container
bubbleItemSize: 12,
// Scrolling physics
physics: BouncingScrollPhysics(),
// Animation duration
duration: Duration(milliseconds: 350),
// Margin & padding
margin: EdgeInsets.symmetric(horizontal: 6, vertical: 8),
padding: EdgeInsets.symmetric(horizontal: 8, vertical: 10),
// Animation curve
curve: Curves.easeInOutBack,
// Bubble position (e.g., bottomCenter, bottomLeft, bottomRight)
bubbleAlignment: BubbleAlignment.bottomCenter,
// Shape of bubble (circular or square)
shapes: BubbleShape.square,
// Optional radius for square bubbles
squareBordersRadius: 12,
),
π API Reference #
Property | Type | Description |
---|---|---|
screens |
List<Widget> |
Screens shown for each tab |
menuItems |
List<BottomNavItem> |
Navigation items (icon + label) |
bobbleDecoration |
BubbleDecoration (optional) |
Custom animation, colors, shapes, etc. |
π§± Customization #
- Icon & label styles
- Active/inactive colors
- Bubble shapes (rounded, square)
- Animation curve, duration, and more
π€ Coming Soon #
- π Badge support
- π§ Top TabBar support
- β FAB (Notched) support
- π More animation styles
π§βπ» Developer #
Muhammad Ahmed Lashari LinkedIn | GitHub | π§ Email
π€ Contributing #
We welcome contributions! To contribute:
- Fork the repo
- Create a new branch
- Make your changes with proper testing
- Open a PR with a clear description
For new features, open an issue first to discuss ideas before implementation.
βοΈ Support #
If you find this package helpful:
- Leave a βοΈ on GitHub
- Share with the Flutter community
- Submit feature requests or bug reports
Letβs build something beautiful β one bubble at a time! π«§