2016-01-20 5 views
1

Android Slider имеет максимальное значение, которое распространяется на весь слайдер. Тем не менее, мне нужен способ получить максимальное значение, а также способ предотвращения перехода слайдера мимо другого значения. Например, я хочу, чтобы ползунок имел максимальное значение 100, но (в зависимости от других условий). Я хочу, чтобы пользователь не проскальзывал до 70.Android Slider - максимальное значение и максимальное значение слайда

Простой слайдер.

<SeekBar android:id="@+id/sldOne" 
      android:layout_width="fill_parent" 
      android:layout_height="wrap_content" /> 

Код

SeekBar seekBar = (SeekBar)findViewById(R.id.sldOne); 
seekBar.setMax(100); 

Я посмотрел в OnChange, но это, похоже, чтобы помочь.

ответ

2

Вы можете использовать OnSeekBarChangeListener отменить изменения в прошлом 70.

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int progress, boolean fromUser) { 
      // Prevent moving above 70 
      if (progress > 70){ 
       seekBar.setProgress(70); 
      } 
     } 

     @Override 
     public void onStartTrackingTouch(SeekBar seekBar) { 
      // Notification that the user has started a touch gesture. 
     } 

     @Override 
     public void onStopTrackingTouch(SeekBar seekBar) { 
      // Notification that the user has finished a touch gesture. 
     } 
    }); 
+0

изменения к прогрессу> 70 - в противном случае она работает прилично хорошо. –

+0

К сожалению, только что исправлено – TheoKanning