【问题标题】:How to link linear progress indicator and slider in flutter?如何在颤动中链接线性进度指示器和滑块?
【发布时间】:2020-06-07 12:20:53
【问题描述】:

我正在制作一个音乐播放器,其中进度指示器将充当滑块来更改音乐位置以及进度条。

据我了解,滑块只能手动设置,而linearprogess 指示器没有这样的滑块。
我想要一种方法来集成两者,以便滑块显示音乐曲目的当前进度,并且用户可以拖动它来影响值。

有什么办法吗?或者如果我有任何误解,请纠正我。

谢谢你

【问题讨论】:

    标签: flutter dart flutter-dependencies


    【解决方案1】:

    您可以创建一个变量来保存slider 的值,并在滑动时更新此变量并将该变量设置为进度指示器。

    像这样:

    class LinearSlider extends StatefulWidget {
      @override
      _LinearSliderState createState() => _LinearSliderState();
    }
    
    class _LinearSliderState extends State<LinearSlider> {
      double sliderValue = 0.3;
    
      @override
      Widget build(BuildContext context) {
        return Scaffold(
          body: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            mainAxisSize: MainAxisSize.max,
            children: <Widget>[
              Slider(
                value: sliderValue,
                onChanged: (v){
                  setState(() {
                    sliderValue = v;
                  });
                },
              ),
    
              LinearProgressIndicator(
                value: sliderValue,
              ),
            ],
          ),
        );
      }
    }
    

    【讨论】:

    • 我想将它们展示在一起,而不是彼此下方。 ?
    • “在一起”是什么意思
    • 就像在音乐播放器上一样。滑块实时显示歌曲更新进度,拖动滑块时音乐位置发生变化。如果我问了一个愚蠢的问题,我可能会有一些误解,非常抱歉。
    • @sick.sec_ 我可能会为您提供解决方案,但我需要知道您从哪里获得进展?什么样的信息可以获得进展?我已经为 Spotify api 提供了这样的解决方案来显示进度并能够将指针“拖动”到它开始播放的位置。
    • @ErikDohmen 我从音频文件的长度中得到了进展。就像我以秒为单位提取长度,然后 (当前时间 / 总时间 * 100) 给出了轨道完成的百分比
    猜你喜欢
    • 1970-01-01
    • 2020-08-10
    • 2021-03-10
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 2018-07-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多