美文网首页
flutter控件之Slider

flutter控件之Slider

作者: Mr丶xi先森 | 来源:发表于2018-09-11 16:17 被阅读515次
import 'package:flutter/material.dart';
class LearnSlider extends StatefulWidget{
  @override
  State<StatefulWidget> createState() {
    return new _LearnSlider();
  }
}
class _LearnSlider extends State<LearnSlider>{
  double progressValue=0.0;
  @override
  Widget build(BuildContext context) {
    return new Scaffold(
      body: new Column(
        mainAxisAlignment: MainAxisAlignment.center,
        children: <Widget>[
          new Container(
            child:new Slider(
              value: progressValue,//实际进度的位置
              inactiveColor: Colors.black12,//进度中不活动部分的颜色
              label: '$progressValue',
              min: 0.0,
              max: 100.0,
              divisions: 1000,
              activeColor: Colors.blue,//进度中活动部分的颜色
              onChangeStart: (double){
                print('888888888888onChangeStart888888888888888');
              },
              onChangeEnd:(double){
                print('9999999999999999onChangeEnd99999999999999999999');
              } ,
              onChanged: (double){
                setState(() {
                  progressValue=double.roundToDouble();
                });
              },
            ),
            width: 300.0,
          ),
          new SliderTheme(
              data: SliderTheme.of(context).copyWith(
//                activeTickMarkColor:Colors.yellowAccent,
                activeTrackColor: Colors.yellowAccent,//实际进度的颜色
//                inactiveTickMarkColor:Colors.black
                thumbColor: Colors.black,//滑块中心的颜色
                inactiveTrackColor:Colors.red,//默认进度条的颜色
                valueIndicatorColor: Colors.blue,//提示进度的气派的背景色
                valueIndicatorTextStyle: new TextStyle(//提示气泡里面文字的样式
                  color: Colors.white,
                ),
                inactiveTickMarkColor:Colors.blue,//divisions对进度线分割后 断续线中间间隔的颜色
                overlayColor: Colors.pink,//滑块边缘颜色
              ),
              child: new Container(
                width: 340.0,
                margin: EdgeInsets.fromLTRB(0.0, 50.0, 0.0, 0.0),
                child: new Row(
                  children: <Widget>[
                    new Text('0.0'),
                    new Expanded(
                      flex: 1,
                        child: new Slider(
                          value: progressValue,
                          label: '$progressValue',
                          divisions: 10,
                          onChanged: (double){
                            setState(() {
                              progressValue=double.floorToDouble();//转化成double
                            });
                          },
                          min: 0.0,
                          max: 100.0,
                        ),
                    ),
                    new Text('100.0'),
                  ],
                ),
              ),
          ),
        ],
      ),
    );
  }
}

相关文章

网友评论

      本文标题:flutter控件之Slider

      本文链接:https://www.haomeiwen.com/subject/ormugftx.html