首页 > 解决方案 > 如何在 Flutter 中更改 Slider 标签颜色?

问题描述

是否可以更改 Flutter 中的 Slider 标签颜色?

类的构造函数中没有这样的字段Slider

标签: constructorflutter

解决方案


根据 Flutter api 使用 valueIndicatorColor 这是 SliderThemeData 的属性正如在此处提到的SliderClass 和此处的SliderThemeData

简单演示:设置局部变量:

double feet = 0;
String heightInFeet = "null";
int height = 180;

这是您的自定义滑块解决方案

SliderTheme(
                  data: SliderTheme.of(context).copyWith(
                    valueIndicatorColor: Colors.blue, // This is what you are asking for
                    inactiveTrackColor: Color(0xFF8D8E98), // Custom Gray Color
                    activeTrackColor: Colors.white,
                    thumbColor: Colors.red,
                    overlayColor: Color(0x29EB1555),  // Custom Thumb overlay Color
                    thumbShape:
                        RoundSliderThumbShape(enabledThumbRadius: 12.0),
                    overlayShape:
                        RoundSliderOverlayShape(overlayRadius: 20.0),
                  ),
                  child: Slider(
                    value: height.toDouble(),
                    onChanged: (double newValue) {
                      setState(() {
                        height = newValue.toInt();
                        feet = (height / 30.48);
                        heightInFeet = feet.toStringAsFixed(2) + " feet";
                      });
                    },
                    divisions: 220,
                    label: heightInFeet,
                    min: 90.0,
                    max: 305.0,
                  ),
                )

如果您想更改文本颜色文本字体等,请使用

valueIndicatorTextStyle: TextStyle(
                        color: Colors.amber, letterSpacing: 2.0)

在 SliderThemeData


推荐阅读