Android SeekBar Jiggles

时间:2011-07-10 10:21:07

标签: java android media-player seekbar

我还没有看到这个问题,所以在这里。我有一个搜索栏,可以阻止寻求超出次要进度(在这种情况下,音乐缓冲)。假设这首歌是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);
    }

};

1 个答案:

答案 0 :(得分:1)

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

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

干杯