android - stars - ¿Cómo puedo disminuir el tamaño de la barra de puntuación?
ratingbar android color (10)
El enlace original que publiqué ahora está roto (hay una buena razón por la cual publicar enlaces solamente no es la mejor manera de hacerlo). Debes RatingBar
estilo a la RatingBar
con ratingBarStyleSmall
o heredar un estilo personalizado 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"
... />
En mi actividad tengo algunas barras de clasificación. ¡Pero el tamaño de esta barra 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 clasificación no surten efecto! ¿Por qué? Tengo 7 estrellas que se seleccionan 6 de ellas.
El siguiente fragmento me ayudó a cambiar el tamaño de la barra de calificación
<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"/>
En RatingBar da atributo style = "? Android: attr / ratingBarStyleIndicator"
Esta fue mi solución después de mucho luchar para reducir la barra de clasificación en tamaño pequeño sin incluso acolchado feo
<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" />
Mira mi respuesta here . La mejor manera de lograrlo.
<style name="MyRatingBar" parent="@android:style/Widget.RatingBar">
<item name="android:minHeight">15dp</item>
<item name="android:maxHeight">15dp</item>
<item name="colorControlNormal">@color/white</item>
<item name="colorControlActivated">@color/home_add</item>
</style>
y usar como
<RatingBar
style="?android:attr/ratingBarStyleIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:isIndicator="false"
android:max="5"
android:rating="3"
android:scaleX=".8"
android:scaleY=".8"
android:theme="@style/MyRatingBar" />
Puede configurarlo en el código XML para la RatingBar
, use scaleX
y scaleY
para ajustar en consecuencia. "1.0" sería el tamaño normal, y cualquier cosa en ".0" lo reducirá, también cualquier cosa mayor a "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" />
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" />
Si solo necesita el estilo predeterminado, asegúrese de tener el siguiente ancho / alto, de lo contrario, los numStars podrían estropearse:
android:layout_width="wrap_content"
android:layout_height="wrap_content"
codingaffairs.blogspot.com/2016/05/…
<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 forma, no es necesario personalizar la barra de calificación.
<RatingBar
style="?android:attr/ratingBarStyleIndicator"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
/>