Couleur d'arrière-plan CardView toujours blanche


139

J'utilise RecyclerView avec GridLayoutManager et j'ai chaque élément en tant que CardView.

Malheureusement, le CardView ne semble pas changer sa couleur d'arrière-plan. J'ai essayé la mise en page et le programme aussi mais j'ai essayé que rien ne semble fonctionner.

Je me bats depuis un bon moment. J'apprécie que quelqu'un puisse m'aider avec ce problème.


4
card_view: cardBackgroundColor = "@ android: couleur / blanc" vérifiez avec ceci.
santosh kumar

Besoin d'un code pour aider
Manza

C'est un code très long donc je ne l'ai pas posté. Permettez-moi de publier un code pertinent.
Ishaan

Pendant que je parcourais le code pour publier ici, j'ai trouvé que quelque part j'avais mis cardView.setCardBackgroundColor (Color.WHITE); c'était la raison pour laquelle il était toujours blanc.
Ishaan

Réponses:


350

Si vous souhaitez modifier la couleur d'arrière-plan de la carte, utilisez:

app:cardBackgroundColor="@somecolor"

comme ça:

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

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

Edit: Comme indiqué par @imposible, vous devez inclure

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

dans votre balise XML racine afin de faire fonctionner cet extrait de code


2
Merci pour votre réponse, appréciez-la.
Ishaan

1
Cela a fonctionné pour moi quand je l'ai utilisé comme ça ---> card_view: cardBackgroundColor = "@ color / white"
Himanshu Mori

2
En cela, incluez xmlns: app = " schemas.android.com/apk/res-auto " dans votre fichier de mise en page.
impossible

1
J'utilise android.support.v7.widget.CardView. L'utilisation a app:cardBackgroundColor="@somecolor"fonctionné pour moi, mais card_view:cardBackgroundColor="@somecolor"n'a pas fonctionné.
Zamrony P. Juhara

36

Vous pouvez le faire en XML ou par programme:

En XML:

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

Par programme:

cardView.setCardBackgroundColor(Color.RED);

1
Merci pour votre réponse, je l'ai résolu. J'avais changé la couleur par programmation quelque part que je ne pouvais pas repérer.
Ishaan

5

Kotlin pour XML

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

code

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


1
Je vous remercie. J'ai utilisé card.setCardBackgroundColor (R.color.bla) précédemment, ce qui conduit à des résultats très étranges. Obtenir la couleur via ContextCompat a fait l'affaire pour moi.
chrjs

3

Code 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" />

À partir du code

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

-2

app:cardBackgroundColor="#488747"

utilisez ceci dans votre vue de carte et vous pouvez changer une couleur de votre vue de carte


-2

Vous pouvez utiliser

app:cardBackgroundColor="@color/red"

ou

android:backgroundTint="@color/red"
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.