showMenu method

Future<void> showMenu(
  1. BuildContext context
)

Shows the dropdown menu

Implementation

Future<void> showMenu(BuildContext context) async {
  final PopupMenuThemeData popupMenuTheme = PopupMenuTheme.of(context);
  final RenderBox buttonRenderBox = context.findRenderObject()! as RenderBox;
  final RenderBox overlay =
      Navigator.of(context).overlay!.context.findRenderObject()! as RenderBox;
  final Offset offset;
  offset = const Offset(0.0, -.5);

  final RelativeRect position = RelativeRect.fromRect(
    Rect.fromPoints(
      buttonRenderBox.localToGlobal(offset, ancestor: overlay),
      buttonRenderBox.localToGlobal(
          buttonRenderBox.size.bottomRight(Offset.zero) + offset,
          ancestor: overlay),
    ),
    Offset.zero & overlay.size,
  );
  await Navigator.of(context).push(_SelectingButtonRouter(
      position: RelativeRect.fromLTRB(
          position.left,
          position.top + (this.offset?.dy ?? 0),
          position.right,
          position.bottom),
      elevation: 5,
      barrierLabel:
          MaterialLocalizations.of(context).modalBarrierDismissLabel,
      shape: popupMenuTheme.shape,
      color: popupMenuTheme.color,
      capturedThemes: InheritedTheme.capture(
          from: context, to: Navigator.of(context).context),
      child: child(context)));
}