defaultTitleBuilder method

Widget? defaultTitleBuilder()

build title

Implementation

Widget? defaultTitleBuilder() {
  List<Widget> titleRowChildren = [];
  String? mTitle = widget.title;
  if (mTitle != null) {
    Widget getTextWidget() {
      Widget textView = Text(mTitle, style: options.titleStyle);
      var onTap = widget.funcOfTitleOnTapped;
      if (onTap != null) {
        /// Important!!! do not use result = Builder... for reusing the return statement, cause dart do a reference copy ...
        return Builder(builder: (context) => GestureDetector(onTap: () => onTap(this, context), child: textView));
      }
      return textView;
    }

    Widget titleWidget = getTextWidget();
    titleRowChildren.add(titleWidget);
  }

  /// title tails
  List<Widget>? titleTailWidgets = options.titleTailWidgets;
  if (titleTailWidgets != null) {
    titleRowChildren.addAll(titleTailWidgets);
  }
  return titleRowChildren.isNotEmpty ? Row(children: titleRowChildren) : null;
}