我们在上一章回中介绍了Slider Widget相关的内容,本章回中将介绍如何修改 Slider Widget的
style
.闲话休提,让我们一起Talk Flutter吧。
概念介绍
本文中提到的Slider Widget的style表示Slider的外观,颜色等风格,类似程序的主题。因为在实际的项目中,每个程序都有自己的Style,我们在程序中使用组件时需要符合程序整体的Style,所以我们需要知道如何修改Slider组件的sytle,本章回中将详细介绍这方面的知识。
修改方法
修改Slider组的的style需要使用SliderTheme
Widget.该组件提供了两个属性,通过这两个属性可以修改Slider的style,下面是属性相关的内容:
- data属性:该属性主要用来修改Slider组件的Style;
- child属性:它用来存放Slider组件,想修改哪个Slider就把该Slider对象赋值给该属性;
这两个属性都是必选属性,我们重点看一下data属性,它是SliderThemeData
类型,该类似提供了许多属性来修改Slider的Style,下面是常用的属性:
- activeTrackColor属性: 主要用来控制滑动轨道中已经滑过的轨道颜色;
- inactiveTrackColor属性:主要用来控制滑动轨道中没有滑过的轨道颜色;,
- thumbColor属性:主要用来控制滑块的颜色;
- thumbShape属性:主要用来控制滑块的形状;
- valueIndicatorColor属性:主要用来控制label的背景颜色;
- valueIndicatorTextStyle属性:主要用来控制label中文字的样式;
上面介绍的这些属性都是可选属性,如果没有给它们赋值,那么就会使用默认值;在实际项目中,我们最好修改它们的值,以便和程序的Style相匹配;
示例代码
Widget _slider() {
return Slider(
//指定滑动值的范围,如果不指定,默认值的范围在0.0 - 1.0之间
min: 0.0,
max: 10.0,
//步进值
divisions: 10,
//设定当前值
value: _slideValue,
//用来显示当前的滑动值,文字位于滑块上方
label: "Value is: ${_slideValue.toInt()}",
onChanged: (value) {
setState(() {
_slideValue = value;
print("value = $value");
});
},
activeColor: Colors.purpleAccent,
inactiveColor: Colors.green,
);
SliderTheme(
data:SliderThemeData(
valueIndicatorColor: Colors.white,
valueIndicatorTextStyle: TextStyle(
color: Colors.black87,
fontSize: 24,
),
),
child: _slider(),
),
在上面的代码中,我们把Slider组件封装成了一个方法,然后将其赋值给SliderTheme
组件的child属性,然后我们给SliderTheme的data属性赋值,通过该值来修改child属性对应的Slider组件。
在上面的代码中我们只修改了Slider中label的背景颜色和label中文字的颜色和大小。编译上面的程序,可以看到一个Slider组件,滑动组件上的滑块,就会在弹出一个lable来,label中显示了滑块当前的值,label的背景色是白色,label中的文字是黑色。如果不修改Slider的风格的话,默认的label背景色是黑灰色,label中文字的颜色是白色。我在这里就不演示的运行结果了,建议大家自己动手去实践。
看官们,关于"如何修改Slide Widget的Style"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!