2014-04-21 7 views
0

검색 범위 값을 -10에서 10으로 설정해야합니다. 기본 SeekBar 클래스는 최소값을 설정할 수는 있지만 최대 값만 설정할 수 있습니다. 최소값도 어떻게 설정할 수 있습니까? 미리 감사드립니다.사용자 지정 SeekBar : 최소값 설정

답변

1

최소값을 설정할 수 없습니다.

seekBar.setMax(20);

그런 다음 단순히 SeekBar를에서 얻을 값을 오프셋 : 내가 사용하는

int progress = seekBar.getProgress() - 10;

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; 

    } 

}