gpt4 book ai didi

java - Android SeekBar 抖动

转载 作者:行者123 更新时间:2023-12-01 15:48:25 26 4
gpt4 key购买 nike

我还没有看到这个问题在 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);
}

};

最佳答案

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

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

干杯

关于java - Android SeekBar 抖动,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6640524/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com