buildAppBar method

AppBar buildAppBar ({@required bool titleVisibility, @required bool leadingVisibility, @required bool tabBarVisibility, Widget titleWidget, Widget leadingWidget, Color backgroundColor, bool centerTitle: false, bool scrollableTab, TabController tabController, List<Widget> tabWidgetList })

Simple implementation of App Bar which user can use it with easy configuration

Implementation

AppBar buildAppBar({
  @required bool titleVisibility,
  @required bool leadingVisibility,
  @required bool tabBarVisibility,
  Widget titleWidget,
  Widget leadingWidget,
  Color backgroundColor,
  bool centerTitle = false,
  bool scrollableTab,
  TabController tabController,
  List<Widget> tabWidgetList,
}) {
  bool useFlexible =
      !titleVisibility && !leadingVisibility && tabBarVisibility;
  return AppBar(
    backgroundColor: backgroundColor,
    automaticallyImplyLeading: false,
    leading: leadingVisibility ? leadingWidget : null,
    title: titleVisibility ? titleWidget : null,
    centerTitle: centerTitle,
    flexibleSpace: useFlexible
        ? Container(
            alignment: Alignment.bottomCenter,
            child: TabBar(
              isScrollable: scrollableTab,
              tabs: tabWidgetList,
              controller: tabController,
              indicatorWeight: 4.0,
            ),
          )
        : null,
    bottom: !useFlexible && tabBarVisibility
        ? TabBar(
            isScrollable: scrollableTab,
            tabs: tabWidgetList,
            controller: tabController,
            indicatorWeight: 4.0,
          )
        : null,
  );
}