Construyendo una RatingBar usando imágenes cargadas desde la web

Tengo un formulario que estoy generando dinámicamente a partir de los datos que recibo de un servicio web. Este servicio web proporciona imágenes que deben utilizarse en la creación de elementos de entrada. Estoy teniendo dificultades para configurar elprogressDrawable de unRatingBar. Aunque XML puedo aplicar una imagen personalizada utilizando lo siguiente comoprogressDrawable:

<layer-list xmlns:android="http://schemas.android.com/apk/res/android">
    <item android:id="@+android:id/background" android:drawable="@drawable/custom_star" />
    <item android:id="@+android:id/secondaryProgress" android:drawable="@drawable/custom_star" />
    <item android:id="@+android:id/progress" android:drawable="@drawable/custom_star" />
</layer-list>

dóndecustom_star es una simple imagen .png, y con@android:style/Widget.RatingBar como el estilo de RatingBar. Esto funciona bien:

pero quiero cambiarcustom_star dinamicamente.

En el código, he intentado configurar el progreso dibujable usando un mapa de bits directamente:

Drawable d = new BitmapDrawable(getResources(), downloadedImage);
ratingBar.setProgressDrawable(d);

y también mediante la construcción de unalayer-list:

LayerDrawable layerDrawable = new LayerDrawable(new Drawable[] {
    getResources().getDrawable(R.drawable.custom_star),
    getResources().getDrawable(R.drawable.custom_star),             
    getResources().getDrawable(R.drawable.custom_star)
});

layerDrawable.setId(0, android.R.id.background);
layerDrawable.setId(1, android.R.id.secondaryProgress);
layerDrawable.setId(2, android.R.id.progress);

ratingBar.setProgressDrawable(layerDrawable);

Ninguno funciona para mí; ambos resultan en elcustom_star dibujable que aparece una vez, estirado por las dimensiones de laRatingBar:

¿Algunas ideas?

Actualizar:

La respuesta de Luksprog a continuación ha mejorado, pero todavía tengo un par de problemas. Ahora, la estrella dibujable no se estira y el valor se puede establecer al tocar, pero aparece como tal con 3/5 seleccionado:

y 5/5 seleccionados:

Creo que la escala de las imágenes se puede arreglar con algunos ajustes, pero molestasecondaryProgress el dibujable no parece estar definido, el dibujable utilizado para las estrellas no seleccionadas en gris. Sin eso, no es muy utilizable.

Respuestas a la pregunta(3)

Su respuesta a la pregunta