设置文本元素基础上滑块值
我想一个文本元素设置为通过滑块设定的表情符号的说明。我有一个滑块设置5种不同的表情符号,因此值是0-4,因为表情符号的列表是一个数组。基于我目前的代码的文本没有corrctly更新。
const _emojis = ['😃','\u{1F928}','\u{1F610}','\u{1F612}','😞'];
child: Slider(
value: _value,
// label: _emojis[_value.toInt()],
min: 0.0,
max: 4.0,
divisions: 4,
onChangeStart: (double value) {
print('Start value is ' + value.toString());
},
onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
if(value.toString() == '0.0'){
return _emotionalStatus = 'Happy';
}
if(value.toString() == '1.0'){
return _emotionalStatus = 'Optimistic';
}
if(value.toString() == '2.0'){
return _emotionalStatus = 'Neutral';
}
if(value.toString() == '3.0'){
return _emotionalStatus = 'Pessimistic';
}
if(value.toString() == '4.0'){
return _emotionalStatus = 'Sad';
}
},
onChanged: (double value) {
setState(() {
_value = value;
});
},
activeColor: Colors.white,
inactiveColor: Colors.white,
),
更改onChangeEnd
方法,你不需要一个返回值,就打电话给你的条件后,SETSTATE:
onChangeEnd: (double value) {
print('Finish value is ' + value.toString());
if (value.toString() == '0.0') {
_emotionalStatus = 'Happy';
}
if (value.toString() == '1.0') {
_emotionalStatus = 'Optimistic';
}
if (value.toString() == '2.0') {
_emotionalStatus = 'Neutral';
}
if (value.toString() == '3.0') {
_emotionalStatus = 'Pessimistic';
}
if (value.toString() == '4.0') {
_emotionalStatus = 'Sad';
}
setState(() {
});
},