responsiveLayout method

Widget responsiveLayout({
  1. double mobileBreakPoint = 460,
  2. double tabletBreakPoint = 800,
  3. double webBreakPoint = 1400,
})

Returns first widget for wide screens and last for mobile

Implementation

Widget responsiveLayout({
  double mobileBreakPoint = 460,
  double tabletBreakPoint = 800,
  double webBreakPoint = 1400,
}) {
  assert(length == 3 || length == 2);

  return LayoutBuilder(
    builder: (context, constraints) {
      if (constraints.maxWidth <= mobileBreakPoint) {
        return first;
      } else if (constraints.maxWidth > mobileBreakPoint && constraints.maxWidth <= tabletBreakPoint) {
        return this[1];
      } else if (constraints.maxWidth > tabletBreakPoint && constraints.maxWidth <= webBreakPoint) {
        return last;
      } else {
        return ConstrainedBox(
          constraints: BoxConstraints(maxWidth: webBreakPoint),
          child: Center(
            child: last,
          ),
        );
      }
    },
  );
}