CardView arka plan rengi her zaman beyaz


140

GridLayoutManager ile RecyclerView kullanıyorum ve her bir öğe CardView olarak var.

Ne yazık ki, buradaki CardView arka plan rengini değiştirmiyor gibi görünüyor. Düzende ve programlı olarak da denedim ama hiçbir şey işe yaramayacak gibi görünüyor.

Bir süredir mücadele ediyorum. Biri bana bu konuda yardımcı olabilirse minnettarım.


4
card_view: cardBackgroundColor = "@ android: renkli / beyaz" bunu kontrol edin.
santosh kumar

Yardım için kod gerekli
Manza

Kod çok uzun, bu yüzden göndermedim. İlgili bazı kodları göndermeme izin verin.
Ishaan

Buraya göndermek için kodu incelerken, bir yere cardView.setCardBackgroundColor (Color.WHITE) koyduğumu gördüm; her zaman beyaz olmasının nedeni buydu.
Ishaan

Yanıtlar:


351

Kart arka plan rengini değiştirmek istiyorsanız, şunu kullanın:

app:cardBackgroundColor="@somecolor"

bunun gibi:

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

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

Düzenleme: @imposible'ın işaret ettiği gibi, eklemeniz gerekir

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

bu pasajı işlevini yerine getirmek için kök XML etiketinizde


2
Cevabınız için teşekkür ederim, teşekkür ederim.
Ishaan

1
Bunu böyle kullandığımda işe yaradı ---> card_view: cardBackgroundColor = "@ color / white"
Himanshu Mori

2
Bunun içinde, düzen dosyanıza xmlns: app = " schemas.android.com/apk/res-auto " ekleyin.
imkansız

1
Ben kullanıyorum android.support.v7.widget.CardView. Kullanmak app:cardBackgroundColor="@somecolor"benim için çalıştı, ama card_view:cardBackgroundColor="@somecolor"olmadı.
Zamrony P. Juhara

36

Bunu XML olarak veya programlı olarak yapabilirsiniz:

XML'de:

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

Programlı:

cardView.setCardBackgroundColor(Color.RED);

1
Cevabınız için teşekkür ederim, çözdüm. Rengi programlı olarak fark edemediğim bir yerde değiştirmiştim.
Ishaan

5

XML için Kotlin

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

kod

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


1
Teşekkür ederim. Daha önce çok garip sonuçlara yol açan card.setCardBackgroundColor (R.color.bla) kullandım. ContextCompat aracılığıyla rengi almak benim için hile yaptı.
chrjs

3

XML kodu

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

Koddan

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

-2

app:cardBackgroundColor="#488747"

bunu kart görünümünüzde kullanın ve kart görünümünüzün rengini değiştirebilirsiniz


-2

Kullanabilirsiniz

app:cardBackgroundColor="@color/red"

veya

android:backgroundTint="@color/red"
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.