PackageTrack
Sign in Get early access

persistent_bottom_nav_bar

A highly customizable persistent/static bottom navigation bar for flutter. Includes up-to 20 styles.

6.2.1 12K downloads/mo #2772 most downloaded on pub.dev BilalShahid13/PersistentBottomNavBar

What this package is like to depend on

Last release 2 years ago

no release in 18 months

Ships unpredictably

gaps range from 8 days to 1.8 years

Nearly every release is documented

notes for 76 of 82 stable releases

Nothing withdrawn

no release was ever pulled

7 years old

82 releases · first in 2020

0 releases in the last 12 months

see the full history below

Release timeline

82 releases · Jan 2020 to Jul 2024
2021 2022 2023 2024 2025 2026
Release Pre-release

Releases

latest 60 of 82
  1. 6.2.1 11 Jul 2024
    Release notes
    • Fixed null error around routeAndNavigatorSettings.
    Open source →
    Release notes
    • Fixed null error around routeAndNavigatorSettings .
    Open source →
  2. 6.2.0 11 Jul 2024
    Release notes
    • Breaking Changes
      • For PersistentTabView.custom, List<Widget> screens has been replaced with List<CustomNavBarScreen> screens.
      • Property routeAndNavigatorSettings has been removed from PersistentTabView.custom. You now define RouteAndNavigatorSettings for each screen separately in CustomNavBarScreen. Please refer to the Readme file for more instructions.
    Open source →
    Release notes
    • Breaking Changes

    • For PersistentTabView.custom , List<Widget> screens has been replaced with List<CustomNavBarScreen> screens .

    • Property routeAndNavigatorSettings has been removed from PersistentTabView.custom . You now define RouteAndNavigatorSettings for each screen separately in CustomNavBarScreen . Please refer to the Readme file for more instructions.

    Open source →
  3. 6.1.1 11 Jul 2024
    Release notes
    • Updated README.md
    Open source →
  4. 6.1.0 11 Jul 2024
    Release notes
    • Fixed issue where class CustomWidgetRouteAndNavigatorSettings was unintentionally made private.
    • Breaking Changes
      • To import the package, you will now have to use import "package:persistent_bottom_nav_bar/persistent_bottom_nav_bar.dart"; instead of import "package:persistent_bottom_nav_bar/persistent_tab_view.dart";.
    Open source →
    Release notes
    • Fixed issue where class CustomWidgetRouteAndNavigatorSettings was unintentionally made private.

    • Breaking Changes

    • To import the package, you will now have to use import "package:persistent_bottom_nav_bar/persistent_bottom_nav_bar.dart"; instead of import "package:persistent_bottom_nav_bar/persistent_tab_view.dart"; .

    Open source →
  5. 6.0.2 11 Jul 2024
    Release notes
    • Fixed issues reported by flutter analyze.
    Open source →
    Release notes
    • Fixed issues reported by flutter analyze .
    Open source →
  6. 6.0.1 11 Jul 2024
    Release notes
    • Removed deprecated classes.
    • Fixed unwanted trigger of onWillPop when Android back button is pressed.
    • Fixed the bug where bar in Style3 and Style4 would not work correctly when margin was applied.
    • Fixed typos in Readme and Changelog.
    • Updated example project to run on latest Android versions.
    Open source →
    Release notes
    • Removed deprecated classes.

    • Fixed unwanted trigger of onWillPop when Android back button is pressed.

    • Fixed the bug where bar in Style3 and Style4 would not work correctly when margin was applied.

    • Fixed typos in Readme and Changelog.

    • Updated example project to run on latest Android versions.

    Open source →
  7. 6.0.0 11 Jul 2024
    Release notes
    • There are many new features and some breaking changes introduced in this version. I will do my best to list all down here but I will still advise to check the example project to cover and see all of the changes for yourself.
    • Breaking Changes
      • NavBarPadding is replaced with EdgeInsets in the padding property.
      • itemAnimationProperties and screenTransitionAnimation are now part of property animationSettings.
      • Renamed confineInSafeArea to confineToSafeArea.
      • Removed redundant properties popAllScreensOnTapOfSelectedTab and popAllScreensOnTapAnyTabs. Added new property popBehaviorOnSelectedNavBarItemPress to cover this behavior.
      • Property hideNavigationBar is replaced with isVisible.
    • New Features
      • Updated maximum supported Flutter SDK version.
      • Animated icons are now supported.
      • Hiding of navigation bar on scroll down motion is now supported through property hideOnScrollSettings. Hiding animation settings can be controlled from animationSettings. Please check the readme file and example project for better understanding.
      • You can now scroll to top on a scrollable screen when an already selected navigation bar tab is pressed. You will need to provide scroll controllers in both this and above mentioned functionality.
      • New fadeIn animation in screenTransitionAnimation.
      • New function popUntilFirstScreenOnSelectedTabScreenintroduced in PersistentNavBarNavigator.
      • If opacity is less than 1 in PersistentBottomNavBarItem and boxShadow is applied NavBarDecoration, backgroundColor will be set to transparent to achieve partial transparent navigation bar effect like on Spotify Android.
    • Bug Fixes
      • Fixed null errors around NavBarDecoration.
      • Removed jitter in animation when property hideNavigationBar was changed.
      • Fixed error -> The getter 'backgroundColor' isn't defined for the type 'ThemeData'.
      • Fixed the issue where wrong animation state was shown when initialIndex on PersistentTabController was other than 0 in style19.
      • floatingActionButton is now fixed above the screens instead of separate button for each screen.
    Open source →
    Release notes
    • There are many new features and some breaking changes introduced in this version. I will do my best to list all down here but I will still advise to check the example project to cover and see all of the changes for yourself.

    • Breaking Changes

    • NavBarPadding is replaced with EdgeInsets in the padding property.

    • itemAnimationProperties and screenTransitionAnimation are now part of property animationSettings .

    • Renamed confineInSafeArea to confineToSafeArea .

    • Removed redundant properties popAllScreensOnTapOfSelectedTab and popAllScreensOnTapAnyTabs . Added new property popBehaviorOnSelectedNavBarItemPress to cover this behavior.

    • Property hideNavigationBar is replaced with isVisible .

    • New Features

    • Updated maximum supported Flutter SDK version.

    • Animated icons are now supported.

    • Hiding of navigation bar on scroll down motion is now supported through property hideOnScrollSettings . Hiding animation settings can be controlled from animationSettings . Please check the readme file and example project for better understanding.

    • You can now scroll to top on a scrollable screen when an already selected navigation bar tab is pressed. You will need to provide scroll controllers in both this and above mentioned functionality.

    • New fadeIn animation in screenTransitionAnimation .

    • New function popUntilFirstScreenOnSelectedTabScreen introduced in PersistentNavBarNavigator .

    • If opacity is less than 1 in PersistentBottomNavBarItem and boxShadow is applied NavBarDecoration , backgroundColor will be set to transparent to achieve partial transparent navigation bar effect like on Spotify Android.

    • Bug Fixes

    • Fixed null errors around NavBarDecoration .

    • Removed jitter in animation when property hideNavigationBar was changed.

    • Fixed error -> The getter 'backgroundColor' isn't defined for the type 'ThemeData'.

    • Fixed the issue where wrong animation state was shown when initialIndex on PersistentTabController was other than 0 in style19 .

    • floatingActionButton is now fixed above the screens instead of separate button for each screen.

    Open source →
  8. 5.0.2 16 Sep 2022
    Release notes
    • Fixed onWillPop assert error
    Open source →
  9. 5.0.1 16 Sep 2022
    Release notes
    • Fixed linting and formatting errors
    Open source →
  10. 5.0.0 16 Sep 2022
    Release notes
    • Added style 19
    • Fixed warnings introduced after Flutter 3.0
    • Breaking Changes
      • Navigator functions will now be called like PersistentNavBarNavigator.pushNewScreen(...) instead of pushNewScreen(..).
    Open source →
    Release notes
    • Added style 19

    • Fixed warnings introduced after Flutter 3.0

    • Breaking Changes

    • Navigator functions will now be called like PersistentNavBarNavigator.pushNewScreen(...) instead of pushNewScreen(..) .

    Open source →
  11. 4.0.2 27 Mar 2021
    Release notes
    • Fixed error while pushing new screens through the included Navigator functions.
    Open source →
  12. 4.0.1 27 Mar 2021
    Release notes
    • Fixed type cast error with NavigatorObserver.
    Open source →
    Release notes
    • Fixed type cast error with NavigatorObserver .
    Open source →
  13. 4.0.0 21 Mar 2021
    Release notes
    • Null safety migration.
    Open source →
  14. 3.2.0 20 Mar 2021
    Release notes
    • inactiveIcon is now available in PersistentBottomNavBarItem.
    • Fixed the bug where all screens of a tab would be popped while switching between tabs.
    • Bug fixes.
    • Breaking Changes
      • onWillPop function now will return the selected screen's context. PersistentBottomNavBarItem
      • routeAndNavigatorSettings has been removed for non-custom navigation bar. Instead, you must now declare routeAndNavigatorSettings in PersistentBottomNavBarItem.
      • activeColor is now activeColorPrimary.
      • inactiveColor is now inactiveColorPrimary.
      • activeColorAlternate is now activeColorSecondary.
      • onPressed now returns context of the selected screen.
    Open source →
    Release notes
    • inactiveIcon is now available in PersistentBottomNavBarItem .

    • Fixed the bug where all screens of a tab would be popped while switching between tabs.

    • Bug fixes.

    • Breaking Changes

    • onWillPop function now will return the selected screen's context. PersistentBottomNavBarItem

    • routeAndNavigatorSettings has been removed for non-custom navigation bar. Instead, you must now declare routeAndNavigatorSettings in PersistentBottomNavBarItem .

    • activeColor is now activeColorPrimary .

    • inactiveColor is now inactiveColorPrimary .

    • activeColorAlternate is now activeColorSecondary .

    • onPressed now returns context of the selected screen.

    Open source →
  15. 3.1.0 06 Dec 2020
    Release notes
    • Argument routeAndNavigatorSettings added to handle Navigator.pushNamed(context, 'routeName'). Please define your routes and other navigator settings like navigator observers here as well.
    • Breaking Changes
      • Arguments initalRoute, navigatorObservers and navigatorKeys removed and shifted to routeAndNavigatorSettings.
    Open source →
    Release notes
    • Argument routeAndNavigatorSettings added to handle Navigator.pushNamed(context, 'routeName') . Please define your routes and other navigator settings like navigator observers here as well.

    • Breaking Changes

    • Arguments initalRoute , navigatorObservers and navigatorKeys removed and shifted to routeAndNavigatorSettings .

    Open source →
  16. 3.0.0 06 Dec 2020
    Release notes
    • Added new arguments navigatorObservers and navigatorKeys for the main navigation bar widget.
    • No need to call setState when updating active tab using the PersistentTabController.
    • Function argument selectedTabScreenContext exposes context of the selected tab.
    • Bug fixes and code refactoring.
    • Breaking Changes
      • context is now required in the constructor.
      • For custom widget, use this constructor PersistentTabView.custom().
      • NavBarStyle.custom has been removed. Please use PersistentTabView.custom().
      • Argument iconSize has been shifted to PersistentBottomNavBarItem.
      • PersistentBottomNavBarItem argument activeContentColor's name has been changed to activeColorSecondary. Functionality remains the same.
      • PersistentBottomNavBarItem argument titleStyle's name has been changed to textStyle. Functionality remains the same.
    Open source →
    Release notes
    • Added new arguments navigatorObservers and navigatorKeys for the main navigation bar widget.

    • No need to call setState when updating active tab using the PersistentTabController.

    • Function argument selectedTabScreenContext exposes context of the selected tab.

    • Bug fixes and code refactoring.

    • Breaking Changes

    • context is now required in the constructor.

    • For custom widget, use this constructor PersistentTabView.custom() .

    • NavBarStyle.custom has been removed. Please use PersistentTabView.custom() .

    • Argument iconSize has been shifted to PersistentBottomNavBarItem.

    • PersistentBottomNavBarItem argument activeContentColor 's name has been changed to activeColorSecondary . Functionality remains the same.

    • PersistentBottomNavBarItem argument titleStyle 's name has been changed to textStyle . Functionality remains the same.

    Open source →
  17. 2.1.0 02 Oct 2020
    Release notes
    • Added TextStyle property for title in the PersistentBottomNavBarItem.
    • Added margin property for the navigation bar.
    • Bug fixes.
    Open source →
    Release notes
    • Added TextStyle property for title in the PersistentBottomNavBarItem.

    • Added margin property for the navigation bar.

    • Bug fixes.

    Open source →
  18. 2.0.5 16 Jul 2020
    Release notes
    • Bug fixes related to decoration border.
    Open source →
  19. 2.0.4 16 Jul 2020
    Release notes
    • Bug fixes.
    Open source →
  20. 2.0.3 16 Jul 2020
    Release notes
    • Bug fixes.
    Open source →
  21. 2.0.2 15 Jul 2020
    Release notes
    • Fixed hideNavigationBar animation jitter and updated Readme.
    Open source →
    Release notes
    • Fixed hideNavigationBar animation jitter and updated Readme.
    Open source →
  22. 2.0.1 15 Jul 2020
    Release notes
    • README updated.
    Open source →
  23. 2.0.0 15 Jul 2020
    Release notes

    These are not all the changes introduced in this update. Only the major ones. They were simply too many and couldn't be listed down here

    • Added transition animations to the Navigator functions.
    • Padding simplified into a single property and uses NavBarPadding instead of EdgeInsets.
    • New property called 'decoration' where are decoration related properties have been moved like curveRadius, boxShadow etc.
    • New property to hide the Navigation Bar when keyboard appears.
    • For those wanting to display a custom dialog when user tries to exit the app on Android only, use onWillPop the callback function.
    • 8 new styles added.
    • Animation properties for all styles can now be controlled through the property itemAnimationProperties.
    • Ability to turn off state management.
    • Screen transition animation added. Can be controlled with the property screenTransitionAnimation.
    • Ability to use custom behavior on tapping of a navigation bar's tab/item through onPressed callback method in the PersistentBottomNavBarItem.
    • Removed platformSpecific property from Navigator functions to make it compatible with Flutter-Web.
    • Minor new features, bug fixes and stability improvements.
    Open source →
    Release notes

    These are not all the changes introduced in this update. Only the major ones. They were simply too many and couldn't be listed down here

    • Added transition animations to the Navigator functions.

    • Padding simplified into a single property and uses NavBarPadding instead of EdgeInsets.

    • New property called 'decoration' where are decoration related properties have been moved like curveRadius, boxShadow etc.

    • New property to hide the Navigation Bar when keyboard appears.

    • For those wanting to display a custom dialog when user tries to exit the app on Android only , use onWillPop the callback function.

    • 8 new styles added.

    • Animation properties for all styles can now be controlled through the property itemAnimationProperties .

    • Ability to turn off state management.

    • Screen transition animation added. Can be controlled with the property screenTransitionAnimation .

    • Ability to use custom behavior on tapping of a navigation bar's tab/item through onPressed callback method in the PersistentBottomNavBarItem .

    • Removed platformSpecific property from Navigator functions to make it compatible with Flutter-Web.

    • Minor new features, bug fixes and stability improvements.

    Open source →
  24. 1.5.6 15 Jul 2020

    Nothing published for this version

  25. 1.5.5 11 May 2020
    Release notes
    • Added property bottomScreenPadding to control a screen's bottom padding.
    • Added property navBarCurveRadius to change the nav bar curve's radius.
    • Added property popAllScreensOnTapOfSelectedTab to toggle between the ability to pop all pushed screens of a particular selected tab on the second press of the said tab.
    Open source →
    Release notes
    • Added property bottomScreenPadding to control a screen's bottom padding.

    • Added property navBarCurveRadius to change the nav bar curve's radius.

    • Added property popAllScreensOnTapOfSelectedTab to toggle between the ability to pop all pushed screens of a particular selected tab on the second press of the said tab.

    Open source →
  26. 1.5.4 07 May 2020
    Release notes
    • Fixed background shadow issue when translucency was turned on with showElevation == true.
    Open source →
    Release notes
    • Fixed background shadow issue when translucency was turned on with showElevation == true .
    Open source →
  27. 1.5.3 07 May 2020
    Release notes
    • Updated Readme file.
    Open source →
  28. 1.5.2 07 May 2020
    Release notes
    • Fixed nav bar background color consistency when translucency enabled.
    • Added an example for the navigator function pushDynamicScreen in the sample project.
    • Minor improvements to some styles.
    Open source →
    Release notes
    • Fixed nav bar background color consistency when translucency enabled.

    • Added an example for the navigator function pushDynamicScreen in the sample project.

    • Minor improvements to some styles.

    Open source →
  29. 1.5.1 30 Apr 2020
    Release notes
    • Reverted changes to PersistentTabController.
    Open source →
    Release notes
    • Reverted changes to PersistentTabController .
    Open source →
  30. 1.5.0 30 Apr 2020
    Release notes
    • Added feature to pop back to first screen on tapping of an already selected tab.
    • Fixed the issue when new tab was added dynamically.
    • Fixed safe area issues.
    • Removed property selectedIndex as it was redundant. Use PersistentTabController to control it instead. Breaking Change
    • Bug fixes.
    Open source →
    Release notes
    • Added feature to pop back to first screen on tapping of an already selected tab.

    • Fixed the issue when new tab was added dynamically.

    • Fixed safe area issues.

    • Removed property selectedIndex as it was redundant. Use PersistentTabController to control it instead. Breaking Change

    • Bug fixes.

    Open source →
  31. 1.4.5 30 Apr 2020
    Release notes
    • Fixed nav bar translucency for provided styles.
    Open source →
  32. 1.4.4 29 Apr 2020
    Release notes
    • Updated dependencies.
    • Removed allCorners value from NavBarCurve as it became redundant after a fix.
    Open source →
    Release notes
    • Updated dependencies.

    • Removed allCorners value from NavBarCurve as it became redundant after a fix.

    Open source →
  33. 1.4.3 29 Apr 2020

    Nothing published for this version

  34. 1.4.2 29 Apr 2020

    Nothing published for this version

  35. 1.4.1 29 Apr 2020
    Release notes
    • Improvements to readme.
    Open source →
  36. 1.4.0 29 Apr 2020
    Release notes
    • Implemented handling of the Android back button.
    • Fixed the issue where the app would not close at all on Android back button press.
    • Updated navigation bar height to give it the default platform look.
    • Updated styles to fix the issue where a tap would not be registered.
    Open source →
  37. 1.3.1 29 Apr 2020

    Nothing published for this version

  38. 1.3.0 25 Apr 2020
    Release notes
    • Incorporated the much requested ability to customize your own bottom navigation bar widget.
    • Android's back button will no longer close the app.
    Open source →
  39. 1.2.2 25 Apr 2020

    Nothing published for this version

  40. 1.2.1 23 Mar 2020
    Release notes
    • Fixed centering of label text in style 1, 7, 9 and 10.
    Open source →
  41. 1.2.0 20 Mar 2020
    Release notes
    • Added navBarHeight and floatingActionWidget properties, some bug fixes and (BREAKING CHANGE) isCurved property is now replaced with navBarCurve which accepts NavBarCurve.
    Open source →
    Release notes
    • Added navBarHeight and floatingActionWidget properties, some bug fixes and ( BREAKING CHANGE ) isCurved property is now replaced with navBarCurve which accepts NavBarCurve .
    Open source →
  42. 1.1.5 03 Mar 2020
    Release notes
    • Fixed issue for style 6 and 8 where a tap would not be registered occasionally.
    Open source →
  43. 1.1.4 03 Mar 2020
    Release notes
    • Bug fixes and improvements for style 6 and 8.
    Open source →
  44. 1.1.3 02 Mar 2020
    Release notes
    • Bug fixes.
    Open source →
  45. 1.1.2 29 Feb 2020
    Release notes
    • Updated project description.
    Open source →
  46. 1.1.1 29 Feb 2020
    Release notes
    • Memory leakage improvements.
    Open source →
  47. 1.1.0 29 Feb 2020
    Release notes
    • Added Neumorphic design for the navigation bar.
    • Scale animations for style 7 and 8.
    • More control over translucency.
    • Bug fixes and improvements.
    Open source →
    Release notes
    • Added Neumorphic design for the navigation bar.

    • Scale animations for style 7 and 8.

    • More control over translucency.

    • Bug fixes and improvements.

    Open source →
  48. 1.0.16 29 Feb 2020

    Nothing published for this version

  49. 1.0.15 27 Jan 2020
    Release notes
    • bug fixes.
    Open source →
  50. 1.0.14 26 Jan 2020
    Release notes
    • Fixed showElevation invisible shadow issue.
    Open source →
    Release notes
    • Fixed showElevation invisible shadow issue.
    Open source →
  51. 1.0.13 26 Jan 2020
    Release notes
    • bug fixes.
    Open source →
  52. 1.0.12 26 Jan 2020
    Release notes
    • Increased space between icon and text for most styles (can be reverted by the use of bottomPadding property).
    Open source →
    Release notes
    • Increased space between icon and text for most styles (can be reverted by the use of bottomPadding property).
    Open source →
  53. 1.0.11 26 Jan 2020
    Release notes
    • bug fixes.
    Open source →
  54. 1.0.10 26 Jan 2020
    Release notes
    • bug fixes.
    Open source →
  55. 1.0.9 26 Jan 2020
    Release notes
    • Added isTranslucent property for PersistentBottomNavBarItem.
    • Tweaked style8 and style9's magnification.
    Open source →
    Release notes
    • Added isTranslucent property for PersistentBottomNavBarItem .

    • Tweaked style8 and style9 's magnification.

    Open source →
  56. 1.0.9+1 26 Jan 2020
    Release notes
    • bug fixes.
    Open source →
  57. 1.0.9+2 26 Jan 2020
    Release notes
    • transparency color improvements.
    Open source →
  58. 1.0.8 24 Jan 2020
    Release notes
    • Fixed error thrown if onItemSelected was not declared.
    • Wrapped screens with Material for material elements.
    Open source →
    Release notes
    • Fixed error thrown if onItemSelected was not declared.

    • Wrapped screens with Material for material elements.

    Open source →
  59. 1.0.7 20 Jan 2020
    Release notes
    • Updated style8's text magnification and added new style10.
    Open source →
    Release notes
    • Updated style8 's text magnification and added new style10 .
    Open source →
  60. 1.0.7+1 20 Jan 2020
    Release notes
    • Updated style10's borders.
    Open source →
    Release notes
    • Updated style10 's borders.
    Open source →

Every package, every release, already written down.

The archive is open and free. Watching your own project is what we are building next.

Browse the archive