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.