Responsive.builder constructor
Responsive.builder({
- ResponsiveBuilder? onMobile,
- ResponsiveBuilder? onTablet,
- ResponsiveBuilder? onDesktop,
- ResponsiveFormat? preferredTabletFormat,
Creates a Responsive Widget which returns either of the provided onMobile
, onTablet
or onDesktop
Widgets based on the current ResponsiveFormat.
This builder constructor allows you to utilize a new builder scope.
At least onMobile
or onDesktop
must be provided.
Implementation
Responsive.builder({
ResponsiveBuilder? onMobile,
ResponsiveBuilder? onTablet,
ResponsiveBuilder? onDesktop,
ResponsiveFormat? preferredTabletFormat,
}) {
// inferring missing parameters
final _responsiveTuple = _ResponsiveTuple<ResponsiveBuilder>(
onMobile: onMobile,
onTablet: onTablet,
onDesktop: onDesktop,
preferredTabletFormat: preferredTabletFormat,
);
// at this stage all three widgets types are not null
_responsiveWidget = _ResponsiveWidget<dynamic>(
onMobile: (BuildContext context, _) => _responsiveTuple.onMobile(context),
onTablet: (BuildContext context, _) => _responsiveTuple.onTablet(context),
onDesktop: (BuildContext context, _) =>
_responsiveTuple.onDesktop(context),
share: null,
);
}