Изменение цвета ползунка ползунка во флаттере

Я пытаюсь изменить цвет ползунка.

Вот мой код:

      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 параметр тогда даже цвет большого пальца меняется.

Как сделать так, чтобы цвет большого пальца был розовым, а активный - белым?

Вот мой требуемый результат:

2 ответа

Попробуйте использовать activeTrackColor: скорее, чем activeColor:, например:

      data: SliderThemeData(
  thumbColor: Colors.pink,
  activeTrackColor: Colors.white,
  inactiveColor: Color(0xff8d8e98),
),

Вы можете использовать overlayColor для тени вокруг большого пальца и activeTrackColor свойства SliderThemeData.

      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;
          });
        },
      ),
    );
Другие вопросы по тегам