activateSideBar static method

void activateSideBar({
  1. Widget? sSideBar,
  2. Offset? offset,
  3. BorderRadius? borderRadius,
  4. Offset? animateFromOffset,
  5. Curve? curve,
  6. Color? popFrameColor,
  7. Duration? animationDuration,
  8. bool useGlobalPosition = false,
})

Activate the sidebar by showing it in a pop overlay

Creates a popup/overlay sidebar that floats above the current content. The sidebar can be dismissed by tapping outside (barrier dismiss) or programmatically calling deactivateSideBar.

Parameters:

  • sSideBar: Custom SSideBar widget to display. If null, uses default sidebar
  • offset: Position offset for the popup (default: Offset(15, 30))
  • borderRadius: Border radius for the popup overlay

Example:

SideBarController.activateSideBar(
  SSideBar(
    sidebarItems: [
      SSideBarItem(iconSelected: Icons.favorite, title: 'Favorites'),
    ],
    onTapForAllTabButtons: (index) {},
  ),
);

Implementation

static void activateSideBar({
  Widget? sSideBar,
  Offset? offset,
  BorderRadius? borderRadius,
  Offset? animateFromOffset,
  Curve? curve,
  Color? popFrameColor,
  Duration? animationDuration,
  bool useGlobalPosition = false,
}) {
  _sideBarController
      .update<SideBarController>((newState) => newState.isActive = true);

  PopOverlay.addPop(
    PopOverlayContent(
      widget: sSideBar ??
          SSideBar(
            sidebarItems: [
              SSideBarItem(
                iconSelected: Icons.home_filled,
                iconUnselected: Icons.home_outlined,
                title: "home",
              )
            ],
            onTapForAllTabButtons: (index) {},
          ),
      id: 'activate_sidebar',
      dismissBarrierColor: Colors.black.withValues(alpha: 0.3),
      borderRadius: borderRadius ?? BorderRadius.circular(20),
      frameColor: popFrameColor ?? Colors.black,
      popPositionOffset: offset ?? Offset(15, 30),
      offsetToPopFrom: animateFromOffset,
      popPositionAnimationCurve: curve,
      popPositionAnimationDuration: animationDuration,
      useGlobalPosition: useGlobalPosition,
    ),
  );
}