Màu nền CardView luôn trắng


138

Tôi đang sử dụng RecyclerView với GridLayoutManager và tôi có mỗi mục là CardView.

Thật không may, CardView ở đây dường như không thay đổi màu nền của nó. Tôi đã cố gắng trong bố trí và lập trình là tốt nhưng tôi đã cố gắng không có gì có vẻ làm việc.

Tôi đã đấu tranh khá lâu. Tôi đánh giá cao nếu ai đó có thể giúp tôi với vấn đề này.


4
card_view: cardBackgroundColor = "@ android: color / white" kiểm tra cái này.
santosh kumar

Cần mã để giúp đỡ
Manza

Đó là mã rất dài do đó tôi đã không đăng nó. Hãy để tôi gửi một số mã có liên quan.
Ishaan

Trong khi tôi đang xem mã để đăng ở đây, tôi thấy rằng ở đâu đó tôi đã đặt cardView.setCardBackgroundColor (Color.WHITE); đó là lý do nó luôn luôn có màu trắng
Ishaan

Câu trả lời:


348

Nếu bạn muốn thay đổi màu nền thẻ, hãy sử dụng:

app:cardBackgroundColor="@somecolor"

như thế này:

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

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

Chỉnh sửa: Như được chỉ ra bởi @imposeible, bạn cần bao gồm

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

trong thẻ XML gốc của bạn để thực hiện chức năng đoạn trích này


2
Cảm ơn câu trả lời của bạn, đánh giá cao nó.
Ishaan

1
Nó hoạt động với tôi khi tôi sử dụng nó như thế này ---> card_view: cardBackgroundColor = "@ color / white"
Himanshu Mori

2
Trong đó, có xmlns: app = " schemas.android.com/apk/res-auto " được bao gồm trong tệp bố cục của bạn.
không thể

1
Tôi đang sử dụng android.support.v7.widget.CardView. Sử dụng app:cardBackgroundColor="@somecolor"làm việc cho tôi, nhưng card_view:cardBackgroundColor="@somecolor"không.
Zamrony P. Juhara

36

Bạn có thể làm điều đó bằng XML hoặc lập trình:

Trong XML:

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

Lập trình:

cardView.setCardBackgroundColor(Color.RED);

1
Cảm ơn câu trả lời của bạn, tôi đã giải quyết nó. Tôi đã thay đổi màu sắc lập trình ở một nơi nào đó mà tôi không thể nhận ra.
Ishaan

5

Kotlin cho XML

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

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


1
Cảm ơn bạn. Tôi đã sử dụng card.setCardBackgroundColor (R.color.bla) trước đây dẫn đến kết quả rất lạ. Lấy màu qua ContextCompat đã giúp tôi rất nhiều.
chrjs

3

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

Từ mã

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

-2

app:cardBackgroundColor="#488747"

sử dụng điều này trong chế độ xem thẻ của bạn và bạn có thể thay đổi màu sắc của chế độ xem thẻ của bạn


-2

Bạn có thể dùng

app:cardBackgroundColor="@color/red"

hoặc là

android:backgroundTint="@color/red"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.