Как отобразить какое-то значение на поисковой панели по умолчанию? - PullRequest
28 голосов
/ 10 января 2012

У меня есть, например, панель поиска: от 0 до 10. Как я могу сделать, если я хочу установить для панели поиска значение 5 в качестве позиции по умолчанию.Так что в этом примере seekbar должен начинаться с середины.

Ответы [ 4 ]

37 голосов
/ 10 января 2012

Используйте это

android:progress="5"

Как и "progress", он наследует некоторые свои атрибуты от ProgressBar.Вы найдете все атрибуты на http://developer.android.com/reference/android/widget/SeekBar.html

21 голосов
/ 26 февраля 2013

Чтобы получить Seekbar на значение 5

В макете XML используйте максимальное значение как 10

  android:max="10"

В Java для seekbar, чтобы получить прогресс 5

 seekbar = (SeekBar) findViewById(R.id.seekBar1);
 seekbar.setProgress(5);

Вот и все:)

4 голосов
/ 25 июля 2012

Надеюсь, этот код наверняка вам поможет.
Попробуйте это ...

float discrete=0; 
 float start=0; 
 float end=100; 
 float start_pos=0; 
 int start_position=0; 

@Override 
public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.activity_main); 


    start=-10;      //you need to give starting value of SeekBar 
end=10;         //you need to give end value of SeekBar 
    start_pos=5;    //you need to give starting position value of SeekBar 

    start_position=(int) (((start_pos-start)/(end-start))*100); 
    discrete=start_pos; 
    SeekBar seek=(SeekBar) findViewById(R.id.seekBar1); 
    seek.setProgress(start_position); 
    seek.setOnSeekBarChangeListener(new OnSeekBarChangeListener() { 

        @Override 
        public void onStopTrackingTouch(SeekBar seekBar) { 
            // TODO Auto-generated method stub 
            Toast.makeText(getBaseContext(), "discrete = "+String.valueOf(discrete), Toast.LENGTH_SHORT).show(); 
        } 

        @Override 
        public void onStartTrackingTouch(SeekBar seekBar) { 
            // TODO Auto-generated method stub 

        } 

        @Override 
        public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser) { 
            // TODO Auto-generated method stub 
            // To convert it as discrete value 
            float temp=progress; 
            float dis=end-start; 
            discrete=(start+((temp/100)*dis)); 

        } 
    }); 
} 
0 голосов
/ 10 апреля 2013
final Timer timer = new Timer();

seekBar_efficiency.setMax(40);

seekBar_efficiency.setProgress(35);
timer.schedule(new TimerTask() {

    @Override
    public void run() {
        seekBar_efficiency.setProgress(20);
        timer.cancel();
    }
}, 200, 50);
...