我需要将seekbar值设置为-10到10.默认的SeekBar类不允许设置最小值但只允许最大值。我怎样才能设置最小值?提前谢谢。
答案 0 :(得分:1)
您无法设置最小值。 你能做的是:
seekBar.setMax(20);
然后简单地偏移从搜索栏获得的值:
int progress = seekBar.getProgress() - 10;
答案 1 :(得分:0)
我使用,但你必须先设置分钟。
public class SeekBarMin extends SeekBar {
private int min;
public SeekBarMin(Context context) {
super(context);
min = 0;
}
public SeekBarMin(Context context, AttributeSet attrs){
super(context, attrs);
min = 0;
}
public SeekBarMin(Context context, AttributeSet attrs, int defStyle) {
super(context, attrs, defStyle);
min = 0;
}
public synchronized void setMin(int min) {
this.min = min;
}
public synchronized int getProgress() {
return super.getProgress() + min;
}
public synchronized void setMax(int max) {
super.setMax(max - min);
}
public int getMax() {
super.getMax() + min;
}
public int getMin() {
return min;
}
}