{"id":19312027,"url":"https://github.com/weblineindia/flutter-tabbar-menu","last_synced_at":"2025-04-22T15:31:41.973Z","repository":{"id":129984585,"uuid":"281319386","full_name":"weblineindia/Flutter-TabBar-Menu","owner":"weblineindia","description":"A Flutter based Reusable Bottom Navigation component which provides Bottom Navigation with configurable items that can be used in any Flutter application.","archived":false,"fork":false,"pushed_at":"2024-02-21T07:00:04.000Z","size":419,"stargazers_count":6,"open_issues_count":0,"forks_count":4,"subscribers_count":3,"default_branch":"master","last_synced_at":"2024-02-21T08:23:33.889Z","etag":null,"topics":["flutter","flutter-components","flutter-demo","flutter-examples","flutter-library","flutter-menu","flutter-navigation","flutter-navigation-drawer","flutter-plugin","flutter-tab-bar","flutter-tab-view","navigationbar","reusable-components","tab-bar","tabbar-menu","tabbarcontroller"],"latest_commit_sha":null,"homepage":"https://www.weblineindia.com/software-development-resources.html","language":"Dart","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/weblineindia.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-07-21T06:51:57.000Z","updated_at":"2024-02-21T08:23:34.869Z","dependencies_parsed_at":"2023-04-15T04:14:44.893Z","dependency_job_id":null,"html_url":"https://github.com/weblineindia/Flutter-TabBar-Menu","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weblineindia%2FFlutter-TabBar-Menu","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weblineindia%2FFlutter-TabBar-Menu/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weblineindia%2FFlutter-TabBar-Menu/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/weblineindia%2FFlutter-TabBar-Menu/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/weblineindia","download_url":"https://codeload.github.com/weblineindia/Flutter-TabBar-Menu/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223900372,"owners_count":17222028,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["flutter","flutter-components","flutter-demo","flutter-examples","flutter-library","flutter-menu","flutter-navigation","flutter-navigation-drawer","flutter-plugin","flutter-tab-bar","flutter-tab-view","navigationbar","reusable-components","tab-bar","tabbar-menu","tabbarcontroller"],"created_at":"2024-11-10T00:32:16.183Z","updated_at":"2024-11-10T00:32:21.078Z","avatar_url":"https://github.com/weblineindia.png","language":"Dart","readme":"# Flutter - Tab Bar Menu / Bottom Navigation Component\n\nA Flutter based Reusable Bottom Navigation component which provides Bottom Navigation with configurable items that can be used in any Flutter application.\n\n\n## Table of contents\n- [Flutter Support](#Flutter-support)\n- [Demo](#demo)\n- [Features](#features)\n- [Getting started](#getting-started)\n- [Usage](#usage)\n- [Methods](#methods)\n- [Want to Contribute?](#want-to-contribute)\n- [Need Help / Support?](#need-help)\n- [Collection of Components](#collection-of-Components)\n- [Changelog](#changelog)\n- [License](#license)\n- [Keywords](#Keywords)\n\n\n## Flutter Support\n\nVersion - Flutter 1.17 (stable)\n\nWe have tested our program in above version, however you can use it in other versions as well.\n\n\n## Demo\n[![](bottomNav.gif)](https://github.com/weblineindia/Flutter-TabBar-Menu/blob/master/bottomNav.gif)\n\n------\n\n## Features\n\n* Bottom Tab Bar Menu view with minimalistic code and configurable UI option.\n* Handled navigation using stateless widget. \n\n## Getting started\n\n* Download this sample project and import app_bottom_navigation.dart Widget file in your Flutter App. \n* Update Titles based on your requirements. \n\n\n## Usage\n\nSetup process is described below to integrate in project.\n\n## Configure Bottom Navigation View in your widget by following below method steps\n\n### Methods\n\nStep 1.Add  'provider' package to pubspec.yaml\n\nStep 2. Add MultiProvider in Your application widget like this\n       \n    // Put BottomNavigatorProvider as mention below\n    class MyApp extends StatelessWidget {\n      @override\n      Widget build(BuildContext context) {\n        final MaterialColor colorCustom = MaterialColor(0xFFFACA58, color);\n        return MultiProvider(\n          providers: [\n            ChangeNotifierProvider.value(\n              value: BottomNavigatorProvider(),\n            )\n          ],\n          child: MaterialApp(\n            title: 'Flutter Demo',\n            home: ...,\n          ),\n        );\n      }\n    }\n       \n\nStep 3. User following BottomNavigation constructor for adding Bottom Navigation to user main screen             \n       \n         List\u003cBottomNavigationBarItem\u003e arrBottomItems = [];\n         Color color;\n         Color selectedColor;\n         bool showSelectedLables;\n         bool showUnselectedLables;\n         Color backgroundColor;\n\n         // ignore: sort_constructors_first\n        BottomNavigation({\n         this.arrBottomItems,\n         this.showSelectedLables,\n         this.showUnselectedLables,\n         this.backgroundColor,\n         this.color,\n         this.selectedColor});\n        \n\nStep 4. Pass TabItems to BottomNavigation widget. \n\n    this.arrBottomItems = []] // Pass tabItem in bottom navigation for displaying use 'tabItem' helper method to create tabitems \n\n    //Use our helper method to create tabItems for Bottom Navigation\n    BottomNavigationBarItem tabItem(String title, IconData icon) {\n        return BottomNavigationBarItem(\n        icon: Icon(icon),\n        title: Text(title),\n        );\n    }\n\n\nStep 5.if you want set color and selected color of tabs.\n\n    color : Colors.black\n    selectedColor: Colors.white\n    \nStep 6.if you want enable/disable lables of tab items.\n    \n    showSelectedLables : true  // if you want to show selected lables only otherwise false\n    showUnselectedLables : true // if you want to show unselected lables only otherwise false\n\n           }\nStep 7. if you want selected index of Bottom Navigation you can get that in following way \n\n    class HomeScreen extends StatelessWidget {\n     ...\n     ... \n     \n      @override\n      Widget build(BuildContext context) {\n        final MaterialColor colorCustom = MaterialColor(0xFFFACA58, color);\n        return Scaffold(\n          appBar: AppBar(\n              centerTitle: true,\n              iconTheme: const IconThemeData(color: Colors.white),\n              /* Use our BottomNavigatorProvider Provider like below for getting  selectedIndex and use it as per your need in below snippet we are       changeing appbar title */\n              title: Consumer\u003cBottomNavigatorProvider\u003e(\n                builder: (ctx, item, child) {\n                  if (item.selectedIndex == 0) {\n                    return const Text(\n                      'First View',\n                      style: TextStyle(color: Colors.white),\n                    );\n                  } else if (item.selectedIndex == 1) {\n                    return const Text('Second View',\n                        style: TextStyle(color: Colors.white));\n                  } else if (item.selectedIndex == 2) {\n                    return const Text('Third View',\n                        style: TextStyle(color: Colors.white));\n                  } else if (item.selectedIndex == 3) {\n                    return const Text('Fourth View',\n                        style: TextStyle(color: Colors.white));\n                  } else {\n                    return null;\n                  }\n                },\n              ),\n              brightness: Brightness.dark),\n          body: Center(\n          \n            child: Consumer\u003cBottomNavigatorProvider\u003e(\n              builder: (ctx, item, child) {\n                switch (item.selectedIndex) {\n                  case 0:\n                    return FirstView();\n                    break;\n                  case 1:\n                    return SecondView();\n                    break;\n                  case 2:\n                    return ThirdView();\n                    break;\n                  case 3:\n                    return FourthView();\n                    break;\n                  default:\n                    return FirstView();\n                    break;\n                }\n              },\n            ),\n          ),\n          bottomNavigationBar: BottomNavigation(\n              arrBottomItems: arrBottomItems,\n              backgroundColor: colorCustom,\n              showSelectedLables: true,\n              showUnselectedLables: true,\n              color: Colors.black,\n              selectedColor: Colors.white),\n        );\n      }\n    }\n    \n------\n\n## Want to Contribute?\n\n- Created something awesome, made this code better, added some functionality, or whatever (this is the hardest part).\n- [Fork it](http://help.github.com/forking/).\n- Create new branch to contribute your changes.\n- Commit all your changes to your branch.\n- Submit a [pull request](http://help.github.com/pull-requests/).\n\n------\n\n## Need Help? \nIf you need help then feel free to contact our [Flutter developers](https://www.weblineindia.com/flutter-cross-platform-mobile-app-development.html).\n\n ------\n \n## Collection of Components\n We have built many other components and free resources for software development in various programming languages. Kindly click here to view our [Free Resources for Software Development.](https://www.weblineindia.com/software-development-resources.html)\n \n------\n\n## Changelog\nDetailed changes for each release are documented in [CHANGELOG](./CHANGELOG).\n\n## License\n\n[MIT](LICENSE)\n\n[mit]: https://github.com/weblineindia/Flutter-TabBar-Menu/blob/master/LICENSE\n\n## Keywords\nFlutter Bottom Navigation Menu, TabBar Menu, Bottom TabBar, Bottom Navigation View, TabBar Navigation, Weblineindia\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweblineindia%2Fflutter-tabbar-menu","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fweblineindia%2Fflutter-tabbar-menu","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fweblineindia%2Fflutter-tabbar-menu/lists"}