Esto no es exactamente una respuesta, pero me gustaría mostrar una alternativa. Usando una biblioteca llamada Iconify que le permite usar iconos vectoriales escalables en aplicaciones de Android y con un método simple puede crear impresionantes barras de calificación con iconos.
El método
public static String montarEstrellasValoracion(float valoration,int starSize) {
String result="";
float cont=1f;
for(float i=1f;i<=valoration;i++){
if(valoracion==0){
break;
}
cont=i;
if((cont+0.5f)>=(valoration) && valoracion!=5f){
result+="{fa-star "+starSize+"dp} ";
result+="{fa-star-half-o "+starSize+"dp} ";
cont++;
break;
}else if((cont+0.5f)<(valoration) && (cont+1f)>(valoration) && valoration!=5f){
result+="{fa-star "+starSize+"dp} ";
result+="{fa-star "+starSize+"dp} ";
cont++;
break;
}
if(cont<=5){
result+="{fa-star "+starSize+"dp} ";
}
}
for(float j=cont;j<5f;j++){
result+="{fa-star-o "+starSize+"dp} ";
}
if(valoration==0){
result+="{fa-star-o "+starSize+"dp}";
}
return result;
}
Y luego en el método onCreate:
IconTextView valoracion = (IconTextView)item.findViewById(R.id.id_icon_textview);
valoracion.setText(montarEstrellasValoracion(valoration,15));
valoracion.setTextColor(Color.parseColor("#000");
Los iconos son de otro sitio impresionante llamada Font Awesome
Hop e esto ayuda a alguien!
¿Y si necesita diferentes tamaños de estrellas en diferentes partes de su aplicación? ¿Necesita nuevos activos para eso? ¿Qué pasa con el apoyo de diferentes tamaños para tabletas? Ahora tengo 8 juegos de estrellas para apoyar? Las imágenes deben escalar a la vista, como lo hace ImageView, y no al revés. –
Bueno, sé que hace mucho tiempo que se formuló la pregunta, pero tengo un asunto un poco relevante, para ser precisos, ¿cuál es el tamaño de los iconos de estrellas estándar _ @ android: style/Widget.RatingBar "_ y pequeñas estrellas style _"? android: attr/ratingBarStyleSmall "_. ¿Sabes dónde se guardan estos iconos? – Tafari
Creé un método donde puedes establecer tus propias imágenes para RatingBar y establecer una superposición de color personalizada para los iconos de estrellas. Con un poco de modificación, puedes establecer su tamaño y altura personalizados sin ninguna anomalía en el tamaño de diseño real, los rellenos para cada clasificación de estrellas también se pueden modificar. http://stackoverflow.com/a/37460679/1299158 – box