首页 > 解决方案 > 在颤动中更改滑块的拇指颜色

问题描述

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

这是我的代码:

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参数,那么甚至拇指颜色也会发生变化。

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

这是我需要的输出:

滑块

标签: flutterflutter-slider

解决方案


您可以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;
          });
        },
      ),
    );

推荐阅读