我们设置项目全局滑块一般通过 SliderThemeData
来定义,通过它,你可以控制 Slider
的样式细节。比如:
Widget build(BuildContext context) {
return MaterialApp(
theme: ThemeData(
primarySwatch: Colors.blue,
sliderTheme: const SliderThemeData(
activeTrackColor: Colors.blue, // 设置 Slider 轨道的颜色
inactiveTrackColor: Colors.white, // 设置 Slider 轨道未激活时的颜色
thumbColor: Colors.blue, // 设置 Slider 滑块的颜色
valueIndicatorColor: Colors.blue, // 设置 Slider 指示器的颜色
),
),
home: HomePage,
);
}
以下是每个属性的解释:
1. trackHeight
-
类型:
double
- 说明: 控制滑动条轨道的高度。
2. activeTrackColor
-
类型:
Color
- 说明: 滑块左侧(或右侧,对于从右到左的布局)已激活部分的轨道颜色。
3. inactiveTrackColor
-
类型:
Color
- 说明: 滑块右侧(或左侧,对于从右到左的布局)未激活部分的轨道颜色。
4. secondaryActiveTrackColor
-
类型:
Color
-
说明: 处于活动状态的次要轨道颜色,通常在
RangeSlider
中使用。
5. disabledActiveTrackColor
-
类型:
Color
- 说明: 滑块不可用时已激活部分轨道的颜色。
6. disabledInactiveTrackColor
-
类型:
Color
- 说明: 滑块不可用时未激活部分轨道的颜色。
7. disabledSecondaryActiveTrackColor
-
类型:
Color
-
说明: 滑块不可用时次要轨道的颜色,通常在
RangeSlider
中使用。
8. activeTickMarkColor
-
类型:
Color
- 说明: 激活的轨道上的刻度标记的颜色。
9. inactiveTickMarkColor
-
类型:
Color
- 说明: 未激活的轨道上的刻度标记的颜色。
10. disabledActiveTickMarkColor
-
类型:
Color
- 说明: 滑块不可用时,已激活轨道上的刻度标记颜色。
11. disabledInactiveTickMarkColor
-
类型:
Color
- 说明: 滑块不可用时,未激活轨道上的刻度标记颜色。
12. thumbColor
-
类型:
Color
- 说明: 滑块的颜色。
13. overlappingShapeStrokeColor
-
类型:
Color
-
说明: 当
thumb
和valueIndicator
重叠时,显示的描边颜色。
14. disabledThumbColor
-
类型:
Color
- 说明: 滑块不可用时的颜色。
15. overlayColor
-
类型:
Color
- 说明: 滑块周围的水波纹颜色(滑动时显示)。
16. valueIndicatorColor
-
类型:
Color
- 说明: 值指示器的颜色(通常在滑块上方显示当前值)。
17. valueIndicatorStrokeColor
-
类型:
Color
- 说明: 值指示器的描边颜色。
18. overlayShape
-
类型:
SliderComponentShape
- 说明: 定义水波纹的形状。
19. tickMarkShape
-
类型:
SliderTickMarkShape
- 说明: 定义刻度标记的形状。
20. thumbShape
-
类型:
SliderComponentShape
- 说明: 定义滑块的形状。
21. trackShape
-
类型:
SliderTrackShape
- 说明: 定义轨道的形状。
22. valueIndicatorShape
-
类型:
SliderComponentShape
- 说明: 定义值指示器的形状。
23. rangeTickMarkShape
-
类型:
RangeSliderTickMarkShape
-
说明:
RangeSlider
的刻度标记形状。
24. rangeThumbShape
-
类型:
RangeSliderThumbShape
-
说明:
RangeSlider
滑块的形状。
25. rangeTrackShape
-
类型:
RangeSliderTrackShape
-
说明:
RangeSlider
轨道的形状。
26. rangeValueIndicatorShape
-
类型:
RangeSliderValueIndicatorShape
-
说明:
RangeSlider
的值指示器的形状。
27. showValueIndicator
-
类型:
ShowValueIndicator
-
说明: 控制何时显示值指示器,有三个选项:
-
onlyForDiscrete
: 仅对离散滑块显示。 -
onlyForContinuous
: 仅对连续滑块显示。 -
always
: 总是显示。
-
28. valueIndicatorTextStyle
-
类型:
TextStyle
- 说明: 定义值指示器文本的样式。
29. minThumbSeparation
-
类型:
double
-
说明:
RangeSlider
中两个滑块之间的最小距离。
30. thumbSelector
-
类型:
RangeThumbSelector
-
说明: 用于在
RangeSlider
中决定哪一个滑块将移动。
31. mouseCursor
-
类型:
MaterialStateProperty<MouseCursor?>
- 说明: 控制鼠标悬停时显示的光标样式。
32. allowedInteraction
-
类型:
Set<InteractionMode>
- 说明: 设置允许的交互模式,比如触摸和鼠标。