如何让滑块随着特定的划分而颤动
How to have a slider in flutter with specific divisions
我想要一个带有 .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;
});
},
),
我认为以下代码段是您要查找的内容:
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();
});
},
),
这是结果:
我想要一个带有 .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;
});
},
),
我认为以下代码段是您要查找的内容:
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();
});
},
),
这是结果: