buildLeading method

Widget? buildLeading(
  1. BuildContext context,
  2. AppBarLeadingType leadingIconType
)

Implementation

Widget? buildLeading(
    BuildContext context, AppBarLeadingType leadingIconType) {
  var list = <Widget>[];

  if (leadingIconType == AppBarLeadingType.Close ||
      leadingIconType == AppBarLeadingType.Back) {
    list.add(IconButton(
      icon: Icon(leadingIconType == AppBarLeadingType.Back
          ? Icons.keyboard_arrow_left
          : Icons.close),
      color: color ?? DefaultColors.text,
      iconSize: leadingIconType == AppBarLeadingType.Back ? 30 : 26,
      tooltip: "Schließen",
      onPressed: () async {
        Navigator.of(context).maybePop();
      },
    ));
  }

  if (Scaffold.of(context).hasDrawer) {
    list.add(IconButton(
      icon: Icon(Icons.menu),
      color: color ?? DefaultColors.text,
      iconSize: 24,
      tooltip: "Navigation öffnen",
      onPressed: () async {
        Scaffold.of(context).openDrawer();
      },
    ));
  }

  return list.length > 0
      ? ExcludeFocusTraversal(
          child: Padding(
            padding: const EdgeInsets.only(left: 7),
            child: Row(
              children: list,
              mainAxisSize: MainAxisSize.min,
              mainAxisAlignment: MainAxisAlignment.start,
              crossAxisAlignment: CrossAxisAlignment.center,
            ),
          ),
        )
      : null;
}