usar style studio propiedades personalizar ejemplo como color android rating

android - style - Espacio entre estrellas de ratingBar



ratingbar android studio ejemplo (5)

Creo que tendrías que tomar una copia del archivo system star png y agregar manualmente el relleno que deseas con un photoshop / gimp / algún otro editor.

Necesito insertar un espacio entre las estrellas de mi ratingBar, por ejemplo, la barra de calificación está bien:

pero lo necesito así:

¿como puedo hacer esto?


Estoy de acuerdo con Tim. Apliqué la misma lógica y funcionó. Aquí en mi proyecto estoy usando mis propias imágenes de estrellas para la estrella. Hice que las imágenes estelares tengan espacio extra (relleno) en el lado derecho que resultó en espacio entre las estrellas.


Solo use el ícono personalizado y use el estilo, me refiero a Photoshop como quiera que se vea y reemplace con el ícono de estilo de calificación del sistema.


Tienes una próxima propiedad.

android:progressDrawable = "@drawable/rating_stars" android:indeterminateDrawable = "@drawable/rating_stars"

@ drawable / rating_stars:

<?xml version="1.0" encoding="utf-8"?> <layer-list xmlns:android="http://schemas.android.com/apk/res/android"> <item android:id="@+android:id/background" android:drawable="@drawable/star_empty" /> <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/star_empty" /> <item android:id="@+android:id/progress" android:drawable="@drawable/star" /> </layer-list>

star_empty y star son las imágenes que están en su directorio dibujable. Por lo tanto, puede cambiar star y star_empty en un editor gráfico y agregar un spassing si lo necesita.


No sé si ya será útil, pero hice una biblioteca personalizada que le permite cambiar el espacio entre las estrellas programáticamente y en XML (entre otras cosas): SimpleRatingBar .

Cuenta con:

  • android:layout_width completamente funcional android:layout_width : se puede establecer en wrap_content , match_parent o abritary dp.
  • Número arbitrario de estrellas.
  • Tamaño de paso arbitrario.
  • El tamaño de las estrellas se puede controlar exactamente o estableciendo un tamaño máximo.
  • Colores personalizables en estado normal (borde, relleno y fondo de estrellas y barra de clasificación).
  • Colores personalizables en estado comprimido (borde, relleno y fondo de estrellas y barra de clasificación).
  • Separación de tamaño personalizable entre estrellas.
  • Ancho de la frontera personalizable de estrellas.
  • Radio de esquina de estrellas personalizables.
  • Permite establecer OnRatingBarChangeListener
  • El llenado de estrellas se puede configurar para que comience de izquierda a derecha o de derecha a izquierda (soporte de idioma RTL).
  • AnimationBuilder se integra en la vista para establecer la clasificación programáticamente con animación.

Aquí hay una vista previa de eso .

En tu caso, solo tendrías que hacer:

ratingbar.setStarsSeparation(20, Dimension.DP);

o, por ejemplo, en píxeles:

ratingbar.setStarsSeparation(100, Dimension.PX);

Puedes encontrarlo en jcenter o en Maven Central . Entonces, en su archivo build.gradle solo agregue a sus dependencias:

compile ''com.iarcuschin:simpleratingbar:0.1.+''