2016-08-24 3 views
-2

Ich muss genaue Bewertung Bar mit 5 Sternen, aber wenn ich so etwas 2,7 Bewertung habe ich 2,7 Sterne in weiß die anderen in grau haben müssen. Ich habe mit der Suchleiste etwas nachgedacht. Ich habe 5 Sterne hinzugefügt und kann leicht 4 graue machen, wenn ich die Bewertung 1 habe, bin mir aber nicht sicher, wie ich sie teilweise farbig machen soll.Wie man genaue Bewertungsleiste in Android machen?

enter image description here

Ich habe so etwas wie dies jetzt:

seekBar.setOnSeekBarChangeListener(new SeekBar.OnSeekBarChangeListener() { 
     @Override 
     public void onProgressChanged(SeekBar seekBar, int i, boolean b) { 
      setStars(i); 
     } 

private void setStars(int stars){ 
    switch (stars){ 
     case 0: 
      star1.setVisibility(GONE); 
      star2.setVisibility(GONE); 
      star3.setVisibility(GONE); 
      star4.setVisibility(GONE); 
      star5.setVisibility(GONE); 
      break; 
case 2: 
      star1.setVisibility(VISIBLE); 
      star2.setVisibility(GONE); 
      star3.setVisibility(GONE); 
      star4.setVisibility(GONE); 
      star5.setVisibility(GONE); 
      break; 

Und so weiter, aber ich brauche es genau zu sein. Ich weiß, dass ich wahrscheinlich 10 Zustände des Sterns für 1/10, 2/10 gefüllt usw. machen kann, aber das wird zu viel Arbeit sein.

+0

der hinzufügen Code, bitte so, dass die Leute könnten herausfinden, wo es verbessert werden kann –

+1

Es wird Ihnen helfen: http://www.javatpoint.com/android-rating-bar-beispiel –

+0

Ich weiß Android hat RatingBar, aber es ist hässlich und nicht einfach zu ändern. Und es tut nicht, was ich will, dass man dort keine 3.7 oder 3.8 Bewertung haben kann. Deshalb muss ich mir etwas Eigenes einfallen lassen. Ich kann nicht einmal eine gute Bibliothek finden und es gibt eine für fast alles:/ – STARGATEBG

Antwort

1

Try this:

<RatingBar 
     android:id="@+id/ratingBar" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:numStars="5" 
     android:stepSize="0.1" 
     android:rating="2.7" /> 
+0

Hey danke ... Ich hatte keine Ahnung, dass es StepSize gibt. Jetzt bleibt nur übrig, kann ich sie kleiner machen und benutzerdefinierte Zeichen und Farben verwenden? – STARGATEBG

2

Größe zu reduzieren und ändern stepsize Sie so etwas wie dieses

<RatingBar 
android:id="@+id/rating" 
android:layout_width="wrap_content" 
android:layout_height="wrap_content" 
android:numStars="5" 
android:stepSize="0.1" 
style = "?android:attr/ratingBarStyleSmall"/> 

tun können Und Ihre Bewertung bar stylen Sie diesen Link sehen können Styling Rating Bar

Verwandte Themen