CardView-Hintergrundfarbe immer weiß

Lesezeit: 3 Minuten

Benutzer-Avatar
Ishaan

Ich verwende RecyclerView mit GridLayoutManager und habe jedes Element als CardView.

Leider scheint die CardView hier ihre Hintergrundfarbe nicht zu ändern. Ich habe es auch im Layout und programmgesteuert versucht, aber ich habe versucht, nichts scheint zu funktionieren.

Ich kämpfe schon eine ganze Weile. Ich freue mich, wenn mir jemand bei diesem Problem helfen könnte.

  • card_view:cardBackgroundColor=”@android:color/white” überprüfen Sie dies.

    – Santosh Kumar

    9. Januar 2017 um 16:55 Uhr


  • Brauche Code um zu helfen

    – Manza

    9. Januar 2017 um 16:55 Uhr

  • Es ist ein sehr langer Code, daher habe ich ihn nicht gepostet. Lassen Sie mich einen relevanten Code posten.

    – Ishaan

    9. Januar 2017 um 16:56 Uhr

  • Während ich den Code durchgegangen bin, um ihn hier zu posten, habe ich festgestellt, dass ich irgendwo cardView.setCardBackgroundColor(Color.WHITE); das war der Grund, warum es immer weiß war.

    – Ishaan

    10. Januar 2017 um 6:46 Uhr


Benutzer-Avatar
Leandro Borges Ferreira

Wenn Sie die Hintergrundfarbe der Karte ändern möchten, verwenden Sie:

app:cardBackgroundColor="@somecolor"

so was:

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

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

Bearbeiten:
Wie von @imposible gezeigt, müssen Sie einschließen

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

in Ihrem Root-XML-Tag, damit dieses Snippet funktioniert

  • Vielen Dank für Ihre Antwort, wissen Sie es zu schätzen.

    – Ishaan

    10. Januar 2017 um 6:47 Uhr

  • Es hat bei mir funktioniert, als ich es so benutzt habe —> card_view:cardBackgroundColor=”@color/white”

    – Himanshu Mori

    26. Oktober 2017 um 12:02 Uhr


  • Darin xmlns:app=”schemas.android.com/apk/res-auto” in Ihrer Layoutdatei enthalten.

    – unmöglich

    8. November 2017 um 14:20 Uhr

  • ich benutze android.support.v7.widget.CardView. Verwenden app:cardBackgroundColor="@somecolor" hat bei mir funktioniert, aber card_view:cardBackgroundColor="@somecolor" nicht.

    – Zamrony P. Juhara

    25. November 2017 um 5:56 Uhr


  • es funktioniert danke!

    – neo

    22. Oktober 2021 um 4:56 Uhr

Benutzer-Avatar
Nonghhonbam Tonthoi

Sie können dies entweder in XML oder programmgesteuert tun:

Im XML-Format:

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

Programmatisch:

cardView.setBackgroundColor(ContextCompat.getColor(this, R.color.my_color));

  • Danke für deine Antwort, ich habe es gelöst. Ich hatte die Farbe programmgesteuert irgendwo geändert, was ich nicht erkennen konnte.

    – Ishaan

    10. Januar 2017 um 6:49 Uhr

Benutzer-Avatar
Mohammed Rousul

Kotlin für XML

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

Code

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

  • Vielen Dank. Ich habe zuvor card.setCardBackgroundColor(R.color.bla) verwendet, was zu sehr seltsamen Ergebnissen führt. Das Abrufen der Farbe über ContextCompat hat für mich den Trick getan.

    – chrjs

    29. Juni 2020 um 14:40 Uhr

  • Richtig, der Schlüssel ist, ContextCompat.getColor zu verwenden, anstatt die Farbe direkt festzulegen.

    – Christian

    17. März 2021 um 16:03 Uhr


  • Funktionierte wie ein perfekter Zauber

    – Asad Mehmod

    11. Januar um 11:47 Uhr

XML-Code

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

Aus dem Code

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

Im XML-Format:

app:cardBackgroundColor="@color/your_color_name"

Beide drin Java und Kotlin Sie können es programmgesteuert tun:

cardView.setCardBackgroundColor(ContextCompat.getColor(this, R.color.your_color_name));

Benutzer-Avatar
DVRK

Wenn sie in der Entwurfsansicht immer noch nicht sichtbar sind, können Sie diese Linien vorübergehend entfernen

app:cardUseCompatPadding="true"

oder

card_view:cardUseCompatPadding="true"

Wenn Sie sie benötigen, können Sie sie dann zur Build-Zeit wieder hinzufügen

Benutzer-Avatar
Vishnu Haridas

app:cardBackgroundColor="#488747"

Verwenden Sie dies in Ihrer Kartenansicht und Sie können eine Farbe Ihrer Kartenansicht ändern

1346030cookie-checkCardView-Hintergrundfarbe immer weiß

This website is using cookies to improve the user-friendliness. You agree by using the website further.

Privacy policy