В настоящее время я изучаю Flutter, и у меня возникают некоторые проблемы с отображением Snackbar после завершения взаимодействия со слайдером (другими словами, окончательное значение было установлено, когда пользователь убирает палец со слайдера). Я не могу вызвать свой метод _showSnackBar()
в onChange
, потому что снэк-бар создается и отображается много раз, один за другим.
Что я могу сделать, чтобы вызвать метод только после завершения взаимодействия? Я думал о том, чтобы сделать запрос на извлечение и добавить что-то вроде onInteractionEnded
свойства обратного вызова, но я хотел бы выяснить, есть ли другой способ.
Вот мой код для справки.
class _MySliderState extends State<MySlider> {
int _value = 2;
@override
Widget build(BuildContext context) {
return Slider(
min: 0.0,
max: 4.0,
divisions: 4,
value: (_value * 1.0),
onChanged: (double value) {
setState(() {
_value = value ~/ 1;
});
_showSnackBar();
},
);
}
void _showSnackBar() {
var snackbar = SnackBar(content: const Text('Slider value changed'));
Scaffold.of(context).showSnackBar(snackbar);
}
}
Спасибо.