第六十一回: 如何修改Slider组件的style

文章目录

  • 概念介绍
  • 修改方法
  • 示例代码

我们在上一章回中介绍了Slider Widget相关的内容,本章回中将介绍如何修改 Slider Widgetstyle.闲话休提,让我们一起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"相关的内容就介绍到这里,欢迎大家在评论区交流与讨论!

你可能感兴趣的:(一起Talk,Flutter吧,android,flutter,slider)