111 votes

Comment faire de la barre d'evaluation de montrer cinq étoiles

Je suis l'exemple standard de la façon d'ajouter un RatingBar. Pour contrôler le nombre d'étoiles que j'ai essayé d'utiliser android:numStars="5". Le problème est que le nombre d'étoiles ne semble pas faire quoi que ce soit. Dans le portrait de mise en page j'obtiens 6 étoiles, et quand je basculer le téléphone je reçois environ 10 étoiles. J'ai essayé de définir le nombre d'étoiles dans mon Activité (myBar.setNumStars(5)) qui charge le xml, mais il n'y a pas de succès avec cette option soit.

Donc ma question est comment puis-je définir ma mise en page afin qu'il n'affiche que les cinq étoiles? Ensemble numStars ne semble pas fonctionner.

Merci d'avance, Roland

205voto

Alex Volovoy Points 34562
<RatingBar
            android:id="@+id/rating"
            android:layout_width="wrap_content"
            android:layout_height="wrap_content"
            style="?android:attr/ratingBarStyleSmall"
            android:numStars="5"
            android:stepSize="0.1"
            android:isIndicator="true" />

dans le code

mRatingBar.setRating(int)

80voto

Lisandro Points 676

La Barre D'Evaluation.setNumStar documentation dit:

Définit le nombre d'étoiles à montrer. Afin d'être montré correctement, il est recommandé que la largeur de la présentation de ce widget être wrap contenu.

Si le réglage de la largeur de la présentation de wrap_content devrait résoudre ce problème.

29voto

Supun Points 100

Cela a fonctionné pour moi: RatingBar doit être à l'intérieur d' LinearLayout que la largeur de la présentation de définir pour envelopper le contenu de RatingBar.

14voto

jsimon Points 168

En outre, si vous définissez un layout_weight, cela annule et remplace l' numStars d'attribut.

5voto

Ajith Memana Points 664
<RatingBar
                    android:id="@+id/ratingBar"
                    style="@style/custom_rating_bar"
                    android:layout_width="wrap_content"
                    android:layout_height="35dp"
                    android:clickable="true"
                    android:numStars="5" 
                    />

Configurer le nombre d'Étoiles dans le fichier XML... Pas besoin de les fournir dans les Styles ou de l'Activité/Fragment .... IMPORTANT: assurez-vous de Mettre la LARGEUR que l'Envelopper le contenu et le poids ne sont pas activés

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X