buildCustom method

  1. @override
Widget buildCustom({
  1. ChildWidgetBuilder? childBuilder,
  2. required BuildContext context,
  3. required JsonWidgetData data,
  4. Key? key,
})
override

Custom builder that subclasses must override and implement to return the actual Widget to be placed on the tree.

Implementation

@override
Widget buildCustom({
  ChildWidgetBuilder? childBuilder,
  required BuildContext context,
  required JsonWidgetData data,
  Key? key,
}) {
  final child = getChild(data).build(
    childBuilder: childBuilder,
    context: context,
  );

  Widget result = Material(
    animationDuration: animationDuration,
    borderOnForeground: borderOnForeground,
    borderRadius: borderRadius,
    clipBehavior: clipBehavior,
    color: color,
    elevation: elevation,
    key: key,
    shadowColor: shadowColor,
    shape: shape,
    surfaceTintColor: surfaceTintColor,
    textStyle: textStyle,
    type: materialType,
    child: padding == null
        ? child
        : Padding(
            padding: padding!,
            child: child,
          ),
  );

  if (margin != null) {
    result = Padding(
      padding: margin!,
      child: result,
    );
  }

  return result;
}