TODO: Explore custom icons, animations, and other styling options to create a unique bottom bar experience.

Usage

TODO: Flutter package for add bottomNavigation to your application. Add longer examples to /example folder.


class MyHomePage extends StatefulWidget {
  const MyHomePage({super.key, required this.title});

  // This widget is the home page of your application. It is stateful, meaning

  // This class is the configuration for the state. It holds the values (in this
  // case the title) provided by the parent (in this case the App widget) and
  // used by the build method of the State. Fields in a Widget subclass are
  // always marked "final".

  final String title;

  @override
  State<MyHomePage> createState() => _MyHomePageState();
}

class _MyHomePageState extends State<MyHomePage> {
  List<TabIconData> tabIconsList = [];
  @override
  void initState() {
    tabIconsList = <TabIconData>[
      TabIconData(
        imagePath: 'assets/fitness_app/tab_1.png',
        selectedImagePath: 'assets/fitness_app/tab_1s.png',
        index: 0,
        isSelected: true,
        animationController: null,
      ),
      TabIconData(
        imagePath: 'assets/fitness_app/tab_2.png',
        selectedImagePath: 'assets/fitness_app/tab_2s.png',
        index: 1,
        isSelected: false,
        animationController: null,
      ),
      TabIconData(
        imagePath: 'assets/fitness_app/tab_3.png',
        selectedImagePath: 'assets/fitness_app/tab_3s.png',
        index: 2,
        isSelected: false,
        animationController: null,
      ),
      TabIconData(
        imagePath: 'assets/fitness_app/tab_4.png',
        selectedImagePath: 'assets/fitness_app/tab_4s.png',
        index: 3,
        isSelected: false,
        animationController: null,
      ),
    ];
    super.initState();
  }

  Widget tabBody = Tab1();
  @override
  Widget build(BuildContext context) {
  
    return Scaffold(
      appBar: AppBar(
        title: Text("l̥"),
      ),
      bottomNavigationBar: CustomiseBottomBar(
        list: [Tab1(), Tab2(), Tab4(), Tab5()],
        floting: Tab3(),
        addClick: () {},
        changeIndex: (index) {
          if (index == 0) {
            setState(() {
              tabBody = Tab1();
            });
          } else if (index == 1) {
            setState(() {
              tabBody = Tab2();
            });
          } else if (index == 2) {
            setState(() {
              tabBody = Tab3();
            });
          } else if (index == 3) {
            setState(() {
              tabBody = Tab4();
            });
          }
        },
        tabIconsList: tabIconsList,
      ),
    );
  }
}