comment puis-je obtenir les valeurs de 0,0 à 2,0 avec un seekbar
? les valeurs devraient aller par pas de 0.5 (0.0, 0.5, 1.0, 1.5, 2.0) Quelqu'un peut-il m'aider?Valeurs de flottement Android Seekbar de 0,0 à 2,0
Répondre
SeekBar étend ProgressBar.
ProgressBar a une méthode
public void setMax(int max)
Comme il accepte seulement int vous aurez à faire une conversion d'une valeur int pour obtenir le flotteur que vous êtes après.
Quelque chose comme ça devrait faire l'affaire:
mSeekBar.setMax(4);
//max = 4 so the possible values are 0,1,2,3,4
seekbar.setOnSeekBarChangeListener(new OnSeekBarChangeListener(){
public void onProgressChanged(SeekBar seekBar, int progress,boolean fromUser)
{
// TODO Auto-generated method stub
Toast.makeText(seekBar.getContext(), "Value: "+getConvertedValue(progress), Toast.LENGTH_SHORT).show();
}
public void onStartTrackingTouch(SeekBar seekBar)
{
// TODO Auto-generated method stub
}
public void onStopTrackingTouch(SeekBar seekBar)
{
// TODO Auto-generated method stub
}
});
Cette partie sera dans votre onCreate() et vous devrez utiliser findViewById() ou quelque chose pour obtenir une référence à mSeekBar.
public float getConvertedValue(int intVal){
float floatVal = 0.0;
floatVal = .5f * intVal;
return floatVal;
}
Cette partie est une autre méthode que vous pouvez ajouter à votre activité pour convertir des valeurs int en valeurs flottantes dans la plage dont vous avez besoin.
Vous devriez implémenter votre propre barre de recherche personnalisée, faire sauter entre les valeurs souhaitées et de s'y tenir, vous pouvez trouver des informations utiles ici:
Cette question vise plus à personnaliser l'apparence de la barre de recherche plutôt que la fonctionnalité des valeurs qui sont possibles. Pour obtenir l'effet que OP est après il n'y a pas besoin de faire une barre de recherche personnalisée. Il suffit de convertir d'int en float pour la gamme de valeurs dont ils ont besoin. – FoamyGuy
Je n'ai pas besoin d'une mise en page personnalisée, je neet pour le faire par programme, et j'ai besoin d'un exemple:/ – kosma822
textView.setProgress(0);
textView.incrementProgressBy(1);
textView.setMax(4);
public void onProgressChanged(SeekBar seekBar, int progress,
boolean fromUser) {
float progressD=(float) progress/2;
textView.setText(String.valueOf(progressD));
// de 0 à 2 pas 0,5
- 1. Valeurs de SeekBar de capture
- 2. Marque Android SeekBar où sont les valeurs
- 3. android widget seekbar
- 4. Android SeekBar Math
- 5. Smoother Android SeekBar
- 6. Android - Obtenez emplacement de contact à partir de 0,0
- 7. Android media player seekbar
- 8. Mediacontrol seekbar problème android
- 9. Android SeekBar Jiggles
- 10. Android SeekBar avec HorizontalScrollView
- 11. Android seekBar ne montrant
- 12. Seekbar avec infobulle android
- 13. Android SeekBar personnalisation
- 14. Personnalisation seekbar dans android
- 15. Android Two Thumbs Seekbar
- 16. MongoDB déclassement de 2,1 à 2,0
- 17. Personnaliser SeekBar dans Android
- 18. Android seekbar clipped thumb
- 19. SeekBar avec des valeurs décimales
- 20. Android - Indice de seekBar sur exception liée
- 21. Android: Modification du comportement de SeekBar
- 22. Alignement de flottement CSS
- 23. Android Seekbar Position du pouce
- 24. Convertir JSONObject à cordes où les valeurs sont 0,0
- 25. SeekBar sur Mono pour Android
- 26. Android MediaController seekbar pas rafraîchissant
- 27. Ecraser le style android seekbar
- 28. Créer personnalisé Seekbar dans Android
- 29. Seekbar progress timer Mp3 android
- 30. seekbar verticale pour Android 4
bon, merci !! Maintenant, j'ai besoin de définir la progression de la barre de recherche, mais la fonction .progress n'accepte que les valeurs int, comment puis-je convertir le float en int dans ce projet? – kosma822
@ kosma822 vous utilisez la méthode setProgress (int). Lorsque vous l'appelez, il doit à son tour appeler la méthode onProgressChange() dans votre programme d'écoute qui effectuera la conversion pour flotter pour vous avec cette méthode qui est le deuxième morceau de code dans ma réponse. Il suffit de changer le Toast dans mon exemple pour tout ce que vous voulez faire avec la valeur float. – FoamyGuy