0

我正在尝试更改滑块的拇指颜色。

这是我的代码:

SliderTheme(
                    data: SliderThemeData(
                      thumbColor: Colors.pink,
                    ),
                    child: Slider(
                      value: height.toDouble(),
                      min: 120,
                      max: 220,
                      onChanged: (double newValue){
                        setState(() {
                          height = newValue.toInt();
                        });
                      },
                      inactiveColor: Color(0xff8d8e98),
                      activeColor: Colors.white,
                    ),
                  )

这是输出: 滑块

但是,如果我activeColor: Colors.white从上面的代码中删除属性,那么我会得到所需的拇指颜色。

但是,如果我重新添加activeColor参数,那么甚至拇指颜色也会发生变化。

如何将拇指颜色设为粉红色,将活动颜色设为白色?

这是我需要的输出:

滑块

4

2 回答 2

0

您可以overlayColor用于滑块周围的阴影和activeTrackColorSliderThemeData 的属性。

SliderTheme(
      data: SliderThemeData(
        thumbColor: Colors.pink,
        overlayColor:Colors.pink[50],
        activeTrackColor: Colors.white,
      ),
      child: Slider(
        value: sliderValue.toDouble(),
        max: 100.0,
        min: 0.0,
        inactiveColor: Colors.grey,
        onChanged: (double newValue) {
          setState(() {
            sliderValue = newValue;
          });
        },
      ),
    );
于 2021-07-29T06:55:33.550 回答
0

尝试使用activeTrackColor:而不是activeColor:,例如:

data: SliderThemeData(
  thumbColor: Colors.pink,
  activeTrackColor: Colors.white,
  inactiveColor: Color(0xff8d8e98),
),
于 2021-07-29T06:44:16.277 回答