Flutter - 在 Slider 交互结束后如何运行方法?

5 slider dart flutter

我目前正在学习 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);
  }
}
Run Code Online (Sandbox Code Playgroud)

谢谢。

Gün*_*uer 7

onChangeStart并且最近onChangeEnd被添加到Slider

https://github.com/flutter/flutter/pull/17298

该更改应该已经在 master 中可用。