getResponsiveWidget method

  1. @override
Widget getResponsiveWidget(
  1. BuildContext context,
  2. ScreenType screenType,
  3. double scale
)
override

Implementation

@override
Widget getResponsiveWidget(BuildContext context, ScreenType screenType, double scale) {

    final Size size = get('size');
    final bool useBufferSize = get('useBufferSize');
    final Alignment alignment = get('alignment');

    var responsiveWidthTooSmall = size.width * scale <= 20;
    var newWidth = responsiveWidthTooSmall && useBufferSize ? size.width * scale + 20 : size.width * scale;
    if(responsiveWidthTooSmall) print('$this width too small (${size.width * scale}), improper size used newWidth: $newWidth');

    var responsiveHeightTooSmall = size.height * scale <= 20;
    var newHeight = responsiveHeightTooSmall && useBufferSize ? size.height * scale + 20 : size.height * scale;
    if(responsiveHeightTooSmall) print('$this height too small (${size.height * scale}), improper size used newHeight: $newHeight');
    var responsiveSize = Size(newWidth, newHeight);

    return Container(
      key: key,
      width: responsiveSize.width,
      height: responsiveSize.height,
      alignment: alignment,
      decoration: BoxDecoration(
        image: DecorationImage(
          image: AssetImage(
            get('assetName'),
            bundle: get('bundle'),
            package: get('package')
          ),
          fit: BoxFit.fill
        ),
      ),
    );
}