2017-09-14 2 views
0

Je veux mettre 2 drawables dans ma barre de sek. Le premier sera le temps minimum et le second tirable montrera l'heure Max sélectionnée par l'utilisateur. Pour cela j'utilise THIS LIBRARY. mais pas de chance. Comment puis-je obtenir le résultat souhaité? Ce que j'ai fait est ici.Comment afficher le format de l'heure dans la barre de recherche de plage?

public void onCreate(Bundle savedInstanceState) { 
    super.onCreate(savedInstanceState); 
    setContentView(R.layout.main); 

    // Setup the new range seek bar 
    RangeSeekBar<Integer> rangeSeekBar = new RangeSeekBar<>(this); 
    // Set the range 
    rangeSeekBar.setRangeValues(15, 90); 
    rangeSeekBar.setSelectedMinValue(20); 
    rangeSeekBar.setSelectedMaxValue(88); 

    // Add to layout 
    FrameLayout layout = (FrameLayout) findViewById(R.id.seekbar_placeholder); 
    layout.addView(rangeSeekBar); 

    // Seek bar for which we will set text color in code 
    RangeSeekBar rangeSeekBarTextColorWithCode = (RangeSeekBar) findViewById(R.id.rangeSeekBarTextColorWithCode); 
    rangeSeekBarTextColorWithCode.setTextAboveThumbsColorResource(android.R.color.holo_blue_bright); 


    rangeSeekBar.setOnRangeSeekBarChangeListener(new RangeSeekBar.OnRangeSeekBarChangeListener<Integer>() { 
     @Override 
     public void onRangeSeekBarValuesChanged(RangeSeekBar<Integer> bar, Integer minValue, Integer maxValue) { 
      int hours = minValue/4; // it will return hours. 
      int minutes = (minValue % 4) * 15; 
      Toast.makeText(getApplicationContext(), hours + " Hours - " + hours + ":" + minutes, Toast.LENGTH_SHORT).show(); 

     } 
    }); 

} 
+0

que diriez-vous de demander ceux qui ont fait la bibliothèque? xD –

+0

Au lieu d'écrire une logique/bibliothèque non fiable, pourquoi n'utilisez-vous pas le sélecteur de temps? https://material.io/guidelines/components/pickers.html –

+0

Son mon exigence monsieur –

Répondre

1

Pour obtenir le résultat souhaité, vous devez convertir votre temps minimum et le temps maximum en minutes.

String start[] = "6:00".split(":"); 
int min = Integer.parseInt(start[0]) * 60 + Integer.parseInt(start[1]); 
String end[] = "23:49".split(":"); 
int max = Integer.parseInt(end[0]) * 60 + Integer.parseInt(end[1]); 

rangeSeekBar.setSelectedMinValue(min); 
rangeSeekBar.setSelectedMaxValue(max); 

maintenant dans

onRangeSeekBarValuesChanged(RangeSeekBar<Integer> bar, Integer minValue, Integer maxValue) 
{ 
int minHour=minValu/60; //since both are ints, you get an int 
int minMinute=minValu % 60; 

int maxHour=maxValu/60; //since both are ints, you get an int 
int maxMinute= maxValu % 60 ; 
} 
+0

Merci ... mais laissez-moi savoir ce qui est exactement min (...) et max (...) –

+0

min et max sont deux variables 'int'. Le temps à l'intérieur entre parenthèses juste pour référence. Réponse mise à jour –

+0

oh git it. Supposons que j'ai passé deux valeurs respectivement minimum à mamimum comme le matin 06h00 du matin à 23h59 de la nuit, .. Comment puis-je convertir cela? –