1
我需要兩個SeekBars設置最小值和最大值,並且每個SeekBar上的拇指不能移過另一個SeekBar。有沒有辦法阻止SeekBar移動到特定點?防止SeekBar移動通過動態點
我需要兩個SeekBars設置最小值和最大值,並且每個SeekBar上的拇指不能移過另一個SeekBar。有沒有辦法阻止SeekBar移動到特定點?防止SeekBar移動通過動態點
實測值的溶液自己:在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();
}