J'ai une barre d'évaluation sur mon application et elle ressemble à ceci:
J'ai essayé de définir le remplissage sur 0dp, mais rien modifié dans la vue.
<RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:layout_marginStart="16dp" android:isIndicator="false" style="@style/Widget.AppCompat.RatingBar"/>
Résultat attendu: j'attends la barre de notation sans remplissage à droite ni remplissage en bas.
5 Réponses :
J'ajoute ceci à mon code xml et cela a résolu mes problèmes:
android:scaleX="1" android:scaleY="1"
Oui, mais que faire si vous avez besoin d'une échelle plus petite comme dans l'image?
La barre de notation Android intégrée est très problématique visuellement, auquel cas je préférerais utiliser les améliorations apportées par les utilisateurs d'Android pour dimensionner chaque étoile en fonction de la taille de l'objet. En vous joignant une bibliothèque pratique avec laquelle travailler, je pense que cette bibliothèque vous résoudra beaucoup de problèmes avec le développement.
Merci au développeur kevin.liu (xckevin).
utilisez les échelles x et y pour réduire la taille de départ et la taille du pas pour définir la taille de l'étoile
Vous pouvez simplement ajuster ce
style="@style/Widget.AppCompat.RatingBar
au lieu de
style="@android:style/Widget.DeviceDefault.RatingBar.Small"
Essayez ce code xml
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:id="@+id/main_layout" android:layout_width="match_parent" android:layout_height="match_parent" android:gravity="center_horizontal"> <RatingBar android:id="@+id/ratingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:isIndicator="false" style="@style/Widget.AppCompat.RatingBar" /> </LinearLayout>
Mettre à jour la question avec la mise en page parent de
RatingBar.