J'ai une barre de recherche par exemple: de 0 à 10. Comment puis-je faire si je veux définir la barre de recherche à 5 comme position par défaut. Donc, dans cet exemple, la barre de recherche doit commencer au milieu.
Utilisez celui-ci
Android:progress="5"
Comme "progress", il hérite de certains de ses attributs de ProgressBar. Vous trouverez tous les attributs sur http://developer.Android.com/reference/Android/widget/SeekBar.html
Pour obtenir Seekbar à la valeur de 5
Dans la disposition xml, utilisez la valeur maximale comme 10
Android:max="10"
Dans le Java pour la barre de recherche pour obtenir une progression 5
seekbar = (SeekBar) findViewById(R.id.seekBar1);
seekbar.setProgress(5);
c'est ça :)
J'espère que ce code vous aidera sûrement.
Essaye ça...
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));
}
});
}