Comment afficher une valeur par défaut sur seekbar?

j'ai un seekbar par exemple: de 0 à 10. Comment puis-je faire si je veux mettre seekbar à 5 comme position par défaut. Donc dans cet exemple seekbar devrait commencer par le milieu.

25
demandé sur Adam 2012-01-10 21:21:26
la source

4 ответов

Utiliser

android:progress="5"

comme "progress", il hérite de certains de ses attributs de ProgressBar. Vous trouvez tous les attributs à http://developer.android.com/reference/android/widget/SeekBar.html

35
répondu mseo 2012-01-10 22:10:50
la source

Pour obtenir de l'Seekbar à la valeur de 5

dans la mise en page xml, utilisez la valeur max comme 10

  android:max="10"

java pour seekbar à obtenir au cours 5

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

c'est ça :)

18
répondu Danny 2013-02-26 09:12:55
la source

j'espère que ce code vous aidera.

Essayez ceci...

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)); 

        } 
    }); 
} 
4
répondu Balaji Gunasekar 2012-07-25 04:23:55
la source
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);
-1
répondu RAJESH JEDI 2013-08-02 00:38:25
la source

Autres questions sur