如何更改颤振中滑块的填充或高度?

Jho*_*nez 7 flutter

我想更改滑块的高度或填充,我不知道属性是什么。但我可以删除两侧的边距和圆形边框,但我不知道如何删除填充链接

\n\n
SliderTheme(\n  data: SliderThemeData(\n    disabledActiveTrackColor: Colors.blue,\n    disabledInactiveTrackColor: Colors.black12,\n    trackHeight: 3,\n    thumbShape: RoundSliderThumbShape(enabledThumbRadius: 0.0),\n    trackShape: RoundSliderTrackShape(),\n  ),\n  child: Slider(\n    value: 10,\n    onChanged: null,\n    min: 0,\n    max: 100,\n  ),\n),\n
Run Code Online (Sandbox Code Playgroud)\n\n

我使用RoundSliderTrackShape类来删除两侧的边距和圆角边框

\n

小智 5

此代码片段将帮助您删除滑块的高度和填充。

Container(
            height: 10,
            child: SliderTheme(
              data: SliderThemeData(
                  trackHeight: 3,
                  thumbShape: SliderComponentShape.noThumb,
                trackShape: SliderCustomTrackShape()
              ),
              child: Slider(
                  value: 90,
                  min: 0,
                  max: 100,
                  divisions: 100,
                  activeColor: primaryColorFFF000,
                  inactiveColor: Colors.grey.withOpacity(.4),
                  label: '50',
                  onChanged: (double newValue) {

                  },
                  semanticFormatterCallback: (double newValue) {
                    return '${newValue.round()}';
                  }),
            ),
          )
Run Code Online (Sandbox Code Playgroud)

删除滑块SliderCustomTrackShape的填充

class SliderCustomTrackShape
    extends RoundedRectSliderTrackShape {
  Rect getPreferredRect({
    required RenderBox parentBox,
    Offset offset = Offset.zero,
    required SliderThemeData sliderTheme,
    bool isEnabled = false,
    bool isDiscrete = false,
  }) {
    final double? trackHeight = sliderTheme.trackHeight;
    final double trackLeft = offset.dx;
    final double trackTop =
        offset.dy + (parentBox.size.height - trackHeight!) / 2;
    final double trackWidth = parentBox.size.width;
    return Rect.fromLTWH(trackLeft, trackTop, trackWidth, trackHeight);
  }
}
Run Code Online (Sandbox Code Playgroud)

预览

在此输入图像描述


Sub*_*ces 0

我不完全确定你在问什么,但如果你想知道如何更改滑块的高度,你可以使用以下属性来完成trackHeight

SliderTheme(
      data: SliderThemeData(
        disabledActiveTrackColor: Colors.blue,
        disabledInactiveTrackColor: Colors.black12,
        trackHeight: 15, //<------Change this number here to change the height----
        thumbShape: RoundSliderThumbShape(enabledThumbRadius: 0.0),
        trackShape: RoundSliderTrackShape(),
      ),
      child: Slider(
        value: 10,
        onChanged: null,
        min: 0,
        max: 100,
      ),
    );
Run Code Online (Sandbox Code Playgroud)