RatingBar se está semi-transparente

Estoy usando RecyclerView con RatingBar en cada fila. Ahora, a veces parte de RatingBar s se dibujan incorrectamente. Después de salir de una pantalla y volver atrás todo vuelve a la normalidad. No tengo ni idea de por qué sucede esto, incluso RatingBar cualquier estilo de RatingBar por lo que debería tener apariencia predeterminada.

Así es como se ve:

Introduzca aquí la descripción de la imagen

Probado en Nexus 6P (Android 7.1.1). También probado en Samsung Galaxy J3 (2016) (Android 5.1.1) y no hay ningún problema aquí.

También he añadido

 holder.rbRating.requestLayout(); 

En onBindViewHolder() . Reduce el problema un poco, pero todavía está presente. Cuando desplazo una fila "mala" de una pantalla cuando se reutiliza parece bien.

Aquí está la disposición de la fila:

 <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" android:paddingTop="@dimen/main_margin_top" android:paddingBottom="@dimen/main_margin_top" android:layout_width="match_parent" android:layout_height="wrap_content" > <TextView android:id="@+id/tvRatingTitle" android:text="Czystość wody" android:textSize="16sp" android:textStyle="bold" android:layout_centerHorizontal="true" android:layout_width="wrap_content" android:layout_height="wrap_content" /> <RatingBar android:id="@+id/rbRating" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginTop="4dp" android:isIndicator="true" android:layout_centerHorizontal="true" android:layout_below="@+id/tvRatingTitle" android:numStars="5" android:rating="2.5" android:stepSize="0.1" /> <CheckBox android:id="@+id/chkMissing" android:text="Zaznacz jeśli nie ma" android:layout_centerHorizontal="true" android:layout_below="@+id/rbRating" android:layout_width="wrap_content" android:layout_height="wrap_content" /> </RelativeLayout> 

También he intentado cambiar a android.support.v7.widget.AppCompatRatingBar , pero no hace ninguna diferencia.

EDITAR:

@Muhib Pirani solución parece estar funcionando, pero tengo dos pequeños problemas:

1) en el Nexus 6P la primera capa de estrella está compensada por pocos píxeles (acercar para ver):

Introduzca aquí la descripción de la imagen

2) En Samsung Galaxy J3 (2016) se ve así:

Introduzca aquí la descripción de la imagen

Estoy bien con las fronteras, pero me gustaría que sean verdes (no gris, el fondo debe ser gris) en las estrellas vacías también.

2 Solutions collect form web for “RatingBar se está semi-transparente”

También me enfrenté al mismo problema. Tuve que programar los colores a RatingBar como esto y funcionó:

 LayerDrawable layerDrawable = (LayerDrawable) ratingBar.getProgressDrawable(); layerDrawable.getDrawable(2).setColorFilter(ContextCompat.getColor(context, R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP); layerDrawable.getDrawable(1).setColorFilter(ContextCompat.getColor(context, R.color.colorPrimaryDark), PorterDuff.Mode.SRC_ATOP); layerDrawable.getDrawable(0).setColorFilter(ContextCompat.getColor(context, R.color.editTextBor), PorterDuff.Mode.SRC_ATOP);//when not selected color. 

Mantenga layerDrawable.getDrawable(2) y layerDrawable.getDrawable(1) mismo color.

También tuve problemas con el nativo RatingBar, así que decidí usar MaterialRatingBar . Resolvió todos mis problemas.

Espero eso ayude

  • Android - Cómo configurar la barra de calificación no se puede hacer clic y se puede tocar en HTC móvil
  • Android RatingBar setRating no funciona
  • ¿Cómo permitir valores completos (enteros) sólo en barras de calificación?
  • Pequeña Custom RatingBar: Diseño de materiales
  • Captura RatingBar Haga clic
  • Android: cambia el color de la barra de calificación a oro
  • La Android RatingBar tiene umbral "malo" para ciertos dispositivos, ¿arreglarlo?
  • obtener valor RatingBar mientras se desliza
  • Custom RatingBar Muestra un número diferente de estrellas cuando api 23
  • ¿Cómo dar el espaciamiento entre la barra de clasificación de estrellas Android?
  • Ocultar sombra de la barra de calificación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.