如何在颤动中使用特定分区的滑块

Geo*_*ver 8 slider dart flutter flutter-layout

我想要一个带有 0.5,1,2,3,4,5,10,15 等数字的滑块。这怎么可能。我知道这些划分会在滑块中创建线性划分。是否可以将我自己的数字作为每个点而不是线性滑块?

Slider(
  value: seconds,
  max: 3600,
  divisions:
      120, // this is where i want to have a not a linear division
  label: (seconds / 60.0).toStringAsFixed(1),
  onChanged: (double value) {
    setState(() {
      seconds = value;
    });
  },
),
Run Code Online (Sandbox Code Playgroud)

jnk*_*sch 11

我认为以下代码片段就是您正在寻找的内容:

final List<double> values = [0.5, 1.0, 2.0, 3.0, 4.0, 5.0, 10.0, 15.0];
int selectedIndex = 0;

Slider(
   value: selectedIndex.toDouble(),
   min: 0,
   max: values.length - 1,
   divisions: values.length - 1,
   label: values[selectedIndex].toString(),
   onChanged: (double value) {
   setState(() {
        selectedIndex = value.toInt();
      });
   },
),
Run Code Online (Sandbox Code Playgroud)

这是结果:

iPhone模拟器屏幕录制