我想从基地3开始我的寻找baar并且增加2并且max是9如何设置,我需要3,5,7,9,11。我的代码是
它无法正常工作,请帮助
SeekBar sb1 = (SeekBar)findViewById(R.id.sBtaxitype);
sb1.setMax(11);
sb1.setLeft(3);
sb1.incrementProgressBy(2);
sb1.setProgress(0); // Set it to zero so it will start at the left-most edge
sb1.setOnSeekBarChangeListener(new OnSeekBarChangeListener() {
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) {
if (progress < 3) {
progress = 3;
progress = progress + 2;
} else {
progress = progress + 2; // Add the minimum value (10)
}
TextView text = (TextView)findViewById(R.id.tvTaxitype);
text.setText(Integer.toString(progress));
}
@Override
public void onStartTrackingTouch(SeekBar seekBar) {}
@Override
public void onStopTrackingTouch(SeekBar seekBar) {}
});
答案 0 :(得分:1)
setLeft()
用于定位。 SeekBar
始终以值0开头并上升到最大值(默认为100,通过setMax()
覆盖)。
要获得3-11范围,请致电setMax(8)
,然后在检索当前值时为getProgress()
的结果添加3。
答案 1 :(得分:0)
要以增量方式移动SeekBar,请测试fromUser
并将进度设置为所需的值。
在此示例中,进度指示器将在您移动时“捕捉”到最近的10。
@Override
public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser)
{
// round progress up or down to the nearest 10
int roundedProgress = (int) (Math.rint((double) progress / 10) * 10);
if (fromUser)
{
seekBar.setProgress(roundedProgress);
}
}