build method

  1. @override
Widget build(
  1. BuildContext context,
  2. T controller,
  3. Widget parent
)
override

Implementation

@override
Widget build(BuildContext context, T controller, Widget parent) {
  final floatingVisible = controller.floatingVisible;
  final underlineVisible = controller.underlineVisible;
  final footerVisible = controller.footerVisible;

  final visible = floatingVisible || footerVisible || underlineVisible;

  final child = visible
      ? Column(
          textDirection: controller.textDirection,
          children: [
            if (floatingVisible) _Header(controller),
            parent,
            if (underlineVisible)
              Underline(
                active: controller.isFocused,
                color: controller.underlineColor,
                height: controller.underlineHeight,
              ),
            if (footerVisible) _Footer(controller),
          ],
        )
      : parent;

  if (controller._isMargin) {
    return Container(
      padding: controller.margin,
      child: child,
    );
  } else {
    return child;
  }
}