【问题标题】:Android SeekBar JigglesAndroid SeekBar 抖动
【发布时间】:2011-08-08 06:15:04
【问题描述】:

我还没有在 SO 上看到这个问题,所以就这样吧。我有一个搜索栏,可以防止搜索超出次要进度(在本例中为音乐缓冲)。假设这首歌长 5 分钟,缓冲了 4 分钟,并且正在播放一分钟。当我去拖动拇指时,它可以很好地拖放。问题是当我停止拖动(不释放)然后再次拖动时,拇指从当前播放位置(1分钟)快速跳到我拖动拇指的位置。当我释放时,它很好,只是拖动拇指的问题。这是我的搜索栏监听器....

private SeekBar.OnSeekBarChangeListener seekBarChangeListener = new SeekBar.OnSeekBarChangeListener() {

    public void onProgressChanged(SeekBar seekBar, int progress,
            boolean fromUser) {

        int secondaryPosition = seekBar.getSecondaryProgress();
        if (progress > secondaryPosition) {
            seekBar.setProgress(secondaryPosition-1);
        }
    }

    public void onStartTrackingTouch(SeekBar seekBar) {

    }

    public void onStopTrackingTouch(SeekBar seekBar) {
        seekMediaPlayerToSeekBarTouch(seekBar);
    }

};

【问题讨论】:

    标签: java android media-player seekbar


    【解决方案1】:

    我猜你有HandlerThread 来更新SeekBar?我建议设置一个基本检查以查看用户是否正在处理SeekBar,这样它就不会在处理SeekBar 时继续尝试重绘拇指。只需在onStartTrackingTouch() 方法中设置一个布尔值,例如mSeekbarTracking 为true,然后在SeekBar 更新程序中,使其在尝试更新之前检查mSeekbarTracking 是否为false。

    我不知道这是否能解决您的所有问题。也许您可以尝试一下,看看它如何影响您的问题。如果您发布用于更新SeekBar 的代码,它可能会对我们有所帮助。

    干杯

    【讨论】:

      猜你喜欢
      • 2018-11-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-18
      • 1970-01-01
      • 2017-09-14
      相关资源
      最近更新 更多