自定义SeekBar:设置最小值

时间:2014-04-21 06:33:03

标签: java android

我需要将seekbar值设置为-10到10.默认的SeekBar类不允许设置最小值但只允许最大值。我怎样才能设置最小值?提前谢谢。

2 个答案:

答案 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;

   }

}