Flutter 在颤振组合中获取3个输入值时出现问题
现在我用这个方法获取3个输入(A、B和C)Flutter 在颤振组合中获取3个输入值时出现问题,flutter,dart,flutter-layout,flutter-animation,Flutter,Dart,Flutter Layout,Flutter Animation,现在我用这个方法获取3个输入(A、B和C) Slider( value: A, min: 0, max: 100, divisions: 100, label: 'A', onChanged: (value) { setState( () { A = value.toInt(); }, ); }, ), 我对每个输入都使用了不同的滑块,但我的任务是在饼图中输入3个输入(在饼图中,用户可以通过拖动marker/c
Slider(
value: A,
min: 0,
max: 100,
divisions: 100,
label: 'A',
onChanged: (value) {
setState(
() {
A = value.toInt();
},
);
},
),
我对每个输入都使用了不同的滑块,但我的任务是在饼图中输入3个输入(在饼图中,用户可以通过拖动marker/courser设置3个值),所有3个输入的组合应该是100,但我没有发现任何类似的小部件,请向我建议任何解决方案。可能会有所帮助。这是一个滑块,但有两个拇指。它可以完成这项工作,但我认为它不能为第一个范围(0到第一个拇指)和最后一个范围(第二个拇指到100)提供不同的颜色
类滑块扩展StatefulWidget{
@凌驾
_SliderState createState()=>\u SliderState();
}
类_滑块状态扩展状态{
双启动=0.0;
双端=0.0;
双a=0.0;
双b=0.0;
双c=0.0;
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[
范围滑块(
值:范围值(开始、结束),
一旦改变:_handleOnChange,
最小值:0.0,
最高:100.0,
),
正文(“A:$A”),
正文(“B:$B”),
正文(“C:$C”),
],
);
}
void\u handleOnChange(范围值){
最终开始=values.start;
最终结束=值。结束;
最终a=开始;
最终b=结束-开始;
最终c=100.0-结束;
设置状态(){
this.start=start;
this.end=end;
这个a=a;
这个.b=b;
这个.c=c;
});
}
}
Hi,这种方法目前看来还不错。这是收集输入值的正确方法。你在找一个饼图来可视化输入吗?@dumazy不,不是为了可视化,实际上我想把这3个输入放到图上。我不想可视化这些输入,我想把输入放到图/图表上,这样所有3个输入的组合应该是100。谢谢,这不是我想要的东西,但它确实有帮助。
class Sliders extends StatefulWidget {
@override
_SlidersState createState() => _SlidersState();
}
class _SlidersState extends State<Sliders> {
double start = 0.0;
double end = 0.0;
double a = 0.0;
double b = 0.0;
double c = 0.0;
@override
Widget build(BuildContext context) {
return Column(
children: [
RangeSlider(
values: RangeValues(start, end),
onChanged: _handleOnChange,
min: 0.0,
max: 100.0,
),
Text("A: $a"),
Text("B: $b"),
Text("C: $c"),
],
);
}
void _handleOnChange(RangeValues values) {
final start = values.start;
final end = values.end;
final a = start;
final b = end - start;
final c = 100.0 - end;
setState(() {
this.start = start;
this.end = end;
this.a = a;
this.b = b;
this.c = c;
});
}
}