All Projects → LanarsInc → Animated Bottom Navigation Bar Flutter

LanarsInc / Animated Bottom Navigation Bar Flutter

Licence: bsd-2-clause
AnimatedBottomNavigationBar is a customizable widget inspired by

Programming Languages

dart
5743 projects

Projects that are alternatives of or similar to Animated Bottom Navigation Bar Flutter

Rainbarf
it's like Rainmeter, but for CLI!
Stars: ✭ 1,087 (+1178.82%)
Mutual labels:  widget
Create Discord Bot
Create Discord bots using a simple widget-based framework.
Stars: ✭ 70 (-17.65%)
Mutual labels:  widget
Meteor Comments Ui
Simple templates for comment functionality in your Meteor App
Stars: ✭ 78 (-8.24%)
Mutual labels:  widget
Imageselector
图片选择器, 支持多图选择和图片预览
Stars: ✭ 62 (-27.06%)
Mutual labels:  widget
Xfce4 Genmon Scripts
🐭 XFCE panel generic monitor scripts
Stars: ✭ 69 (-18.82%)
Mutual labels:  widget
Ngx Dashboard
Dashboard library for angular 4 and more
Stars: ✭ 70 (-17.65%)
Mutual labels:  widget
Toothyprogress
A polyline determinated ProgressBar written in Kotlin
Stars: ✭ 56 (-34.12%)
Mutual labels:  widget
Battery Widget
Battery status indicator for awesome WM
Stars: ✭ 83 (-2.35%)
Mutual labels:  widget
Pd Admin
Powerful Admin Dashboard for Symfony 5
Stars: ✭ 70 (-17.65%)
Mutual labels:  widget
Pyrustic
Lightweight framework and software suite to help develop, package, and publish Python desktop applications
Stars: ✭ 75 (-11.76%)
Mutual labels:  widget
Pure Css3 Animated Border
Pure CSS3 animated border for all html element.
Stars: ✭ 63 (-25.88%)
Mutual labels:  widget
Foobugs Dashboard
various dashing dashboard jobs
Stars: ✭ 64 (-24.71%)
Mutual labels:  widget
Aix Weather Widget
Graph weather widget for Android
Stars: ✭ 70 (-17.65%)
Mutual labels:  widget
Miniflix
Miniflix - A smaller version of Netflix powered by Cloudinary
Stars: ✭ 58 (-31.76%)
Mutual labels:  widget
Panwid
A collection of widgets for urwid.
Stars: ✭ 82 (-3.53%)
Mutual labels:  widget
Expandable Fab
A highly customizable 'speed dial' FloatingActionButton implementation.
Stars: ✭ 56 (-34.12%)
Mutual labels:  widget
Oh My Desk
web widget desktop application
Stars: ✭ 70 (-17.65%)
Mutual labels:  widget
Emeus
Constraint-based layout manager for GTK+
Stars: ✭ 84 (-1.18%)
Mutual labels:  widget
Iced
A cross-platform GUI library for Rust, inspired by Elm
Stars: ✭ 12,176 (+14224.71%)
Mutual labels:  widget
Circularpicker
CircularPicker is helpful for creating a controller aimed to manage any calculated parameter.
Stars: ✭ 73 (-14.12%)
Mutual labels:  widget

animated-bottom-navigation-bar

AnimatedBottomNavigationBar is a customizable widget inspired by dribble shot.

Made in lanars.com.

pub package

With AnimatedBottomNavigationBar.builder you are able to customize tab view however you need. In this case you are responsible to handle an active(inactive) state of tabs.

Getting Started

To get started, place your AnimatedBottomNavigationBar in the bottomNavigationBar slot of a Scaffold. The AnimatedBottomNavigationBar respects FloatingActionButton location. For example:

Scaffold(
   body: Container(), //destination screen
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.center,
      notchSmoothness: NotchSmoothness.verySmoothEdge,
      leftCornerRadius: 32,
      rightCornerRadius: 32,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);

Customization

AnimatedBottomNavigationBar is customizable and works with 2, 3, 4, or 5 navigation elements.

Scaffold(
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      leftCornerRadius: 32,
      rightCornerRadius: 32,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.endDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.end,
      notchSmoothness: NotchSmoothness.defaultEdge,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.center,
      notchSmoothness: NotchSmoothness.defaultEdge,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.center,
      notchSmoothness: NotchSmoothness.softEdge,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.center,
      notchSmoothness: NotchSmoothness.smoothEdge,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);
Scaffold(
   floatingActionButton: FloatingActionButton(
      //params
   ),
   floatingActionButtonLocation: FloatingActionButtonLocation.centerDocked,
   bottomNavigationBar: AnimatedBottomNavigationBar(
      icons: iconList,
      activeIndex: _bottomNavIndex,
      gapLocation: GapLocation.center,
      notchSmoothness: NotchSmoothness.verySmoothEdge,
      onTap: (index) => setState(() => _bottomNavIndex = index),
      //other params
   ),
);

Driving Navigation Bar Changes

You have to change the active navigation bar tab programmatically by passing a new activeIndex to the AnimatedBottomNavigationBar widget.

class _MyAppState extends State<MyApp> {
  int activeIndex;

  /// Handler for when you want to programmatically change
  /// the active index. Calling `setState()` here causes
  /// Flutter to re-render the tree, which `AnimatedBottomNavigationBar`
  /// responds to by running its normal animation.
  void _onTap(int index) {
    setState((){
      activeIndex = index;
    });
  }

  Widget build(BuildContext context) {
    return AnimatedBottomNavigationBar(
      activeIndex: activeIndex,
      onTap: _onTap,
      //other params
    );
  }
}
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].