我需要两个 SeekBar 来设置最小值和最大值,并且每个 SeekBar 上的拇指不能移过另一个。有没有办法禁止将 SeekBar 移动到特定点?
问问题
1196 次
1 回答
0
自己找到了解决方案:在SeekBar.OnSeekBarChangeListener.onProgressChanged()
方法中,只需将进度设置为正确的值,在这种情况下与另一个相同SeekBar
@Override
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
if (!isLegalMove(seekBar)) {
seekBar.setProgress(mOtherSeekBar.getProgress());
}
}
private boolean isLegalMove(SeekBar thisSeekBar) {
if (mOtherSeekBar == null) {
return true;
}
return mIsMax && mOtherSeekBar.getProgress() <= thisSeekBar.getProgress() ||
!mIsMax && mOtherSeekBar.getProgress() >= thisSeekBar.getProgress();
}
于 2011-01-25T03:35:50.163 回答