1

Il ne montre même pas de demi-étoile! Bien sûr, j'ai préparé toutes les autres questions, elles ne contiennent aucune magie que je n'ai pas essayée.Android RatingBar ratingBarStyleSmall afficher uniquement les étoiles pleines/remplies

J'ai essayé de changer le style à ratingBarStyle et il y a la moitié d'étoile mais bien sûr, la taille normale RatingBar ne répond pas à mes exigences ici.

<LinearLayout 
     android:layout_width="match_parent" 
     android:layout_height="wrap_content" 
     android:orientation="vertical"> 
     <RatingBar 
      android:id="@+id/ratingBar2" 
      style="?android:attr/ratingBarStyleSmall" 
      android:layout_width="wrap_content" 
      android:layout_height="wrap_content" 
      android:isIndicator="true" 
      android:backgroundTint="@color/colorAccent" 
      android:progressTint="@color/colorAccent" 
      android:secondaryProgressTint="@color/colorAccent" 
      android:numStars="5" 
      android:rating="3.3" 
      android:stepSize="0.1"/> 
    </LinearLayout> 

Mon code Java:

ratingBar.setStepSize(0.1f); 
ratingBar.setRating(3.5f); 

Résultat Je vois:
enter image description here

J'utilise la version Android de soutien 23.4.0. Mes compileSdkVersion et targetSdkVersion sont tous les deux 23. Je suis en train de tester sur un appareil Android 5.0.

+0

utiliser step 0.5 et vérifier – Vickyexpert

Répondre

4

Supprimez ou modifiez le android:secondaryProgressTint. Il est utilisé pour remplir la dernière étoile (partielle). C'est ce que je reçois avec:

<RatingBar 
     android:id="@+id/ratingBar2" 
     style="?android:attr/ratingBarStyleSmall" 
     android:layout_width="wrap_content" 
     android:layout_height="wrap_content" 
     android:isIndicator="true" 
     android:backgroundTint="#f00" 
     android:progressTint="#0f0" 
     android:secondaryProgressTint="#00f" 
     android:numStars="5" 
     android:rating="3.3" 
     android:stepSize="0.1"/> 

Rating bar with partial star

Je ne changé les 3 couleurs. Il semble que la couleur d'arrière-plan ne soit pas utilisée du tout (AppCompat 23.4.0, périphérique API 22).

+0

Cela a été très utile! Juste pour compléter ceci. Si vous voulez que le blue/secondaryProgressTint soit parti. Ensuite, utilisez # 00000000 qui est une couleur 100% transparente. ou une couleur noire avec 0 opacité pour être correct. – Nulle