Java Android SeekBar抖动
我还没有看到这个问题的报道,所以就这样吧。我有一个seekbar,它可以防止在二级进程之外进行搜索(在本例中是音乐缓冲)。假设这首歌有5分钟长,缓冲了4分钟,播放时间为1分钟。当我去拖动拇指时,它会很好地拖拽和掉落。问题是,当我停止拖动(不释放)然后再次拖动时,拇指会从当前播放位置(1分钟)快速跳到我拖动拇指的位置。当我释放时,没关系,只是拖动拇指的问题。这是我的seekbar听众Java Android SeekBar抖动,java,android,media-player,seekbar,Java,Android,Media Player,Seekbar,我还没有看到这个问题的报道,所以就这样吧。我有一个seekbar,它可以防止在二级进程之外进行搜索(在本例中是音乐缓冲)。假设这首歌有5分钟长,缓冲了4分钟,播放时间为1分钟。当我去拖动拇指时,它会很好地拖拽和掉落。问题是,当我停止拖动(不释放)然后再次拖动时,拇指会从当前播放位置(1分钟)快速跳到我拖动拇指的位置。当我释放时,没关系,只是拖动拇指的问题。这是我的seekbar听众 private SeekBar.OnSeekBarChangeListener seekBarChangeList
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);
}
};
我猜您有一个
处理程序
或线程
来更新SeekBar
?我建议设置一个基本检查,查看用户是否正在处理SeekBar
,这样它就不会在处理SeekBar
时一直试图重新绘制拇指。只需在onStartTrackingTouch()
方法中将一个布尔值(如mSeekbarTracking
设置为true),然后在SeekBar
更新程序中,在尝试更新它之前,让它检查mSeekbarTracking
是否为false
我不知道这是否能解决你所有的问题。也许你可以试试,看看它对你的问题有什么影响。如果您发布用于更新SeekBar
的代码,可能会对我们有所帮助
干杯