如何在颤动中构建动态范围滑块?

How to build a dynamic range slider in flutter?

我想构建一个动态范围滑块,我通过选择一个下拉按钮来更新范围滑块的值(最小值、最大值和分区)。 有这方面的例子吗?我没有在互联网上找到任何内容。 谢谢!

您可以使用股票 RangeSlider 小部件以及 lowhigh 值作为状态。然后,您可以在 setState((){}) 中更改这些值,滑块将相应更新。

这是一个示例,其中 FloatingActionButton 将值设置为 4 和 6 :

class _MyHomePageState extends State<MyHomePage> {
  static const min = 0.0;
  static const max = 10.0;
  double low = min;
  double high = max;

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: Column(
          mainAxisAlignment: MainAxisAlignment.center,
          children: <Widget>[
            RangeSlider(
              min: min,
              max: max,
              values: RangeValues(low, high),
              onChanged: (values) => setState((){
                low = values.start;
                high = values.end;
              }),
            ),
          ],
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () => setState((){
          low = 4;
          high = 6;
        }),
        child: Icon(Icons.add),
      ),
    );
  }
}
//initialize this line
 RangeValues _currentRangeValues = const RangeValues(10, 1000);     

//use this widget 
RangeSlider(
  values: _currentRangeValues,
  max: 1000,
  activeColor: colorPrimary,
  divisions: 100,
  labels: RangeLabels(
  _currentRangeValues.start.round().toString(),
  _currentRangeValues.end.round().toString()),
  onChanged: (RangeValues values) {
     setState(() {
        _currentRangeValues = values;
     });
  }),

// and dynamically update value use this line 
 setState(() {
   _currentRangeValues = const RangeValues(10, 1000);
 });