necesito insertar un espacio entre las estrellas de mi ratingBar, ejemplo del ratingbar es así:espacio entre las estrellas de ratingBar
pero yo por lo tanto lo necesitan:
¿como puedo hacer esto?
necesito insertar un espacio entre las estrellas de mi ratingBar, ejemplo del ratingbar es así:espacio entre las estrellas de ratingBar
pero yo por lo tanto lo necesitan:
¿como puedo hacer esto?
No sé si será útil nunca más, pero hice una biblioteca personalizada que le permite cambiar espacio entre estrellas programaticamente y en XML (entre otras cosas): SimpleRatingBar.
Cuenta:
android:layout_width
Totalmente de trabajo: se puede configurar para wrap_content
, match_parent
o abritary dp.En su caso, sólo tendría que hacer:
ratingbar.setStarsSeparation(20, Dimension.DP);
o, por ejemplo, en píxeles:
ratingbar.setStarsSeparation(100, Dimension.PX);
Se puede encontrar ya sea en jcenter
o en Maven Central
. Así que en su archivo build.gradle
acaba de agregar a sus dependencias:
compile 'com.iarcuschin:simpleratingbar:0.1.+'
No admite drawable personalizado para estrellas. ¿O sí? – FoY
Hola @FoY, no es así. – FlyingPumba
Creo que tendrías que tomar una copia del archivo star png del sistema y agregar manualmente el relleno que deseas con un photoshop/gimp/algún otro editor.
Según los enlaces que publiqué anteriormente, creo que puedes personalizar ' Drawable' utilizado para las estrellas que usan los atributos de tamaño para el relleno falso (al configurar una etiqueta 'style' para' RatingBar'). – Eric
de esta manera ha sido feo, no tiene una forma en las configuraciones de la clase de la barra de calificación – ademar111190
@Soxxeh Hmm, no encuentro un ejemplo de eso en ninguno de los enlaces que ha publicado. El primero parece más prometedor, pero la primera oración dice: "Tienes que agregar el relleno al propio png" y continúa mostrando un método de la clase ProgressBar. No veo en ningún lado un estilo que afecte el relleno. ¿Puedes elaborar? – FoamyGuy
Acepto que Tim apliqué la misma lógica y funcionó. Aquí en mi proyecto estoy usando mis propias imágenes estelares para la estrella ratin He hecho imágenes estelares que tienen espacio extra (relleno) en el lado derecho que resultó en espacio entre las estrellas
Sí, estoy de acuerdo, pero. Ahora considere lo siguiente, creará 4 tipos de barras de calificación en un proyecto grande, cada barra de calificación con 2 o 3 tipos diferentes de dibujables son aproximadamente 10 imágenes que ponen, digamos, 2px de espacio, ahora piensan que es necesario aumentar 1px de espacio, Prefiere cambiar setPadding (2) para setPadding (3) en lugar de volver a emitir más de 10 imágenes. – ademar111190
tiene una solución en su camino. Por favor, comparta que es lo que mejor intenté – Meher
Lamentablemente, no se encontró nada elegante para resolver esto, puse espacio en propia imagen :(, No me gustó que el problema se resolviera con la esperanza de encontrar la manera adecuada de hacerlo. – ademar111190
Tiene la próxima propiedad.
android:progressDrawable = "@drawable/rating_stars"
android:indeterminateDrawable = "@drawable/rating_stars"
@ dibujable/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 la estrella son las imágenes que se encuentran en su directorio estirable. Por lo tanto, puede cambiar star y star_empty en un editor de gráficos y agregar spassing si lo necesita.
Sí de acuerdo, pero. Ahora considere lo siguiente, creará 4 tipos de barras de calificación en un proyecto grande, cada barra de calificación con 3 tipos diferentes de dibujable son aproximadamente 12 imágenes que ponen, digamos, 2px de espacio, ahora creen que es necesario aumentar 1px de espacio , Prefiero cambiar setPadding (2) para setPadding (3) en lugar de volver a emitir más de 10 imágenes – ademar111190
Simplemente use el ícono personalizado y use el estilo, me refiero a Photoshop como quiera que se vea y reemplace con el icono de estilo de clasificación del sistema.
Ver [SO esta respuesta] (http://stackoverflow.com/questions/4213784/spacing-between-the-stars-of-a- calificación-barra). – Eric
He agregado una solicitud de función, vota por ello: https://code.google.com/p/android/issues/detail?id=230511 –