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) {

    double height = 1.0;
    double? newTrackHeight;

    SliderThemeData defaultThemeData = SliderTheme.of(context);
    SliderThemeData responsiveThemeData = SliderTheme.of(context);

    if(sliderThemeData != null) {
      responsiveThemeData = sliderThemeData!;
    }

    if(responsiveThemeData.trackHeight != null) {
      height = responsiveThemeData.trackHeight!;
    } else if(defaultThemeData.trackHeight != null) {
      height = defaultThemeData.trackHeight!;
    }

    newTrackHeight = height * scale;

    responsiveThemeData = responsiveThemeData.copyWith(trackHeight: newTrackHeight);

    return SliderTheme(
      data: responsiveThemeData,
      child: ResponsiveContainer(
          width: 500,
          child: Slider(
            key : get('key'),
            value : get('value'),
            onChanged : onChanged,
            onChangeStart : onChangeStart,
            onChangeEnd : onChangeEnd,
            min : get('min'),
            max : get('max'),
            divisions : get('divisions'),
            label : get('label'),
            activeColor : get('activeColor'),
            inactiveColor : get('inactiveColor'),
            thumbColor : get('thumbColor'),
            mouseCursor : get('mouseCursor'),
            semanticFormatterCallback : get('semanticFormatterCallback'),
            focusNode : get('focusNode'),
            autofocus : get('autofocus'),
          ),
        ),
    );
}