¿Cómo puedo disminuir el tamaño de la barra de clasificación?
En mi actividad tengo algunas barras de clasificación. Pero el tamaño de este bar es tan grande! ¿Cómo puedo hacerlo más pequeño?
Editar
Gracias a Gabriel Negut, lo hice con el siguiente estilo:
<RatingBar style = "?android:attr/ratingBarStyleSmall" android:numStars = "5" android:rating = "4" />
Ahora, el tamaño se reduce, pero el número de estrellas y la calificación no tienen efecto! ¿Por qué? Tengo 7 estrellas que 6 de ellos está seleccionado.
El enlace original que publiqué ahora está roto (hay una buena razón por la que publicar enlaces no es la mejor manera de hacerlo). Tienes que RatingBar
el RatingBar
con ratingBarStyleSmall
o un estilo personalizado heredando de Widget.Material.RatingBar.Small
(suponiendo que estés usando Material Design en tu aplicación).
Opción 1:
<RatingBar android:id="@+id/ratingBar" style="?android:attr/ratingBarStyleSmall" ... />
Opcion 2:
// styles.xml <style name="customRatingBar" parent="android:style/Widget.Material.RatingBar.Small"> ... // Additional customizations </style> // layout.xml <RatingBar android:id="@+id/ratingBar" style="@style/customRatingBar" ... />
Si desea mostrar la barra de calificación en tamaño pequeño, simplemente copie y pegue este código en su proyecto.
<RatingBar android:id="@+id/MyRating" style="?android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@id/getRating" android:isIndicator="true" android:numStars="5" android:stepSize="0.1" />
Esta fue mi solución después de un montón de luchar para reducir la barra de calificación en tamaño pequeño, incluso sin feo relleno
<RatingBar android:id="@+id/listitemrating" style="@android:attr/ratingBarStyleSmall" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleX=".5" android:scaleY=".5" android:transformPivotX="0dp" android:transformPivotY="0dp" android:isIndicator="true" android:max="5" />
Puede establecerlo en el código XML para la RatingBar
, use scaleX
y scaleY
para ajustarlo en consecuencia. "1.0" sería el tamaño normal, y cualquier cosa en el ". 0" lo reducirá, también cualquier cosa mayor que "1.0" lo aumentará.
<RatingBar android:id="@+id/ratingBar1" android:layout_width="wrap_content" android:layout_height="wrap_content" android:scaleX="0.5" android:scaleY="0.5" />
El siguiente fragmento funcionó para mí para cambiar el tamaño del ratingBar
<RatingBar android:layout_width="wrap_content" android:layout_height="wrap_content" android:id="@+id/ratingBar" style="?android:attr/ratingBarStyleIndicator" android:scaleX=".5" android:rating="3.5" android:scaleY=".5" android:transformPivotX="0dp" android:transformPivotY="0dp" android:max="5"/>
<RatingBar style="?android:attr/ratingBarStyleIndicator" android:layout_width="wrap_content" android:layout_height="wrap_content" />
Ejemplo de Trabajo
<RatingBar style="@style/RatingBar" android:layout_width="wrap_content" android:layout_height="wrap_content" android:numStars="5" android:rating="3.5" android:stepSize="0.5" />
Y agregue esto en su archivo xml de estilos
<style name="RatingBar" parent="android:style/Widget.Material.RatingBar.Small"> <item name="colorControlNormal">@color/primary_light</item> <item name="colorControlActivated">@color/primary_dark</item> </style>
De esta manera usted no necesita personalizar ratingBar.
Si sólo necesita el estilo predeterminado, asegúrese de tener el siguiente ancho / alto, de lo contrario el numStars podría quedar desordenado:
android:layout_width="wrap_content" android:layout_height="wrap_content"
En RatingBar dar atributo estilo = "? Android: attr / ratingBarStyleIndicator"