Color de fondo de CardView siempre blanco


138

Estoy usando RecyclerView con GridLayoutManager y tengo cada elemento como CardView.

Desafortunadamente, el CardView aquí no parece cambiar su color de fondo. Intenté en el diseño y también mediante programación, pero he intentado que nada parece funcionar.

He estado luchando por bastante tiempo. Agradezco que alguien pueda ayudarme con este problema.


44
card_view: cardBackgroundColor = "@ android: color / white" verifique con esto.
santosh kumar

Necesito código para ayudar
Manza

Es un código muy largo, por lo tanto, no lo publiqué. Déjame publicar un código relevante.
Ishaan

Mientras revisaba el código para publicar aquí, descubrí que en algún lugar había puesto cardView.setCardBackgroundColor (Color.WHITE); Por eso siempre era blanco.
Ishaan

Respuestas:


348

Si desea cambiar el color de fondo de la tarjeta, use:

app:cardBackgroundColor="@somecolor"

Me gusta esto:

<android.support.v7.widget.CardView
        android:layout_width="match_parent"
        android:layout_height="wrap_content"
        app:cardBackgroundColor="@color/white">

</android.support.v7.widget.CardView>

Editar: como señaló @imposible, debe incluir

xmlns:app="http://schemas.android.com/apk/res-auto"

en su etiqueta XML raíz para hacer que este fragmento funcione


2
Gracias por tu respuesta, te lo agradezco.
Ishaan

1
Funcionó para mí cuando lo usé así ---> card_view: cardBackgroundColor = "@ color / white"
Himanshu Mori

2
En eso, tenga xmlns: app = " schemas.android.com/apk/res-auto " incluido en su archivo de diseño.
imposible

1
Estoy usando android.support.v7.widget.CardView. Usar app:cardBackgroundColor="@somecolor"funcionó para mí, pero card_view:cardBackgroundColor="@somecolor"no lo hizo.
Zamrony P. Juhara

36

Puede hacerlo en XML o mediante programación:

En XML:

card_view:cardBackgroundColor="@android:color/red"

Programáticamente:

cardView.setCardBackgroundColor(Color.RED);

1
Gracias por tu respuesta, lo resolví. Había cambiado el color programáticamente en algún lugar que no podía detectar.
Ishaan

5

Kotlin para XML

app:cardBackgroundColor="@android:color/red"

código

cardName.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorGray))


1
Gracias. Utilicé card.setCardBackgroundColor (R.color.bla) anteriormente, lo que conduce a resultados muy extraños. Obtener el color a través de ContextCompat hizo el truco para mí.
chrjs

3

Código XML

<android.support.v7.widget.CardView
        xmlns:card_view="http://schemas.android.com/apk/res-auto"
        android:id="@+id/card_view_top"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        app:cardCornerRadius="5dp"
        app:contentPadding="25dp"
        app:cardBackgroundColor="#e4bfef"
        app:cardElevation="4dp"
        app:cardMaxElevation="6dp" />

Del código

CardView card = findViewById(R.id.card_view_top);
card.setCardBackgroundColor(Color.parseColor("#E6E6E6"));

-2

app:cardBackgroundColor="#488747"

use esto en la vista de su tarjeta y puede cambiar el color de la vista de su tarjeta


-2

Puedes usar

app:cardBackgroundColor="@color/red"

o

android:backgroundTint="@color/red"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.