CardView 배경색은 항상 흰색


139

GridLayoutManager와 함께 RecyclerView를 사용하고 있으며 각 항목을 CardView로 가지고 있습니다.

불행히도 여기서 CardView는 배경색을 변경하지 않는 것 같습니다. 나는 레이아웃과 프로그래밍 방식으로 시도했지만 아무것도 시도하지 않은 것 같습니다.

나는 꽤 오랫동안 고투 해왔다. 누군가이 문제를 해결할 수 있다면 고맙습니다.


4
card_view : cardBackgroundColor = "@ android : color / white"확인하십시오.
santosh kumar

도움이 필요한 코드
Manza

매우 긴 코드이므로 게시하지 않았습니다. 관련 코드를 게시하겠습니다.
Ishaan

여기에 게시하는 코드를 진행하는 동안 cardView.setCardBackgroundColor (Color.WHITE); 그것이 항상 하얀 이유였습니다.
Ishaan

답변:


349

카드 배경색을 변경하려면 다음을 사용하십시오.

app:cardBackgroundColor="@somecolor"

이처럼 :

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

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

편집 : @imposible이 지적한대로 포함해야합니다.

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

이 코드 조각 기능을 만들기 위해 루트 XML 태그에


2
답변 주셔서 감사합니다. 감사합니다.
Ishaan

1
내가 이것을 다음과 같이 사용할 때 나를 위해 일했다 ---> card_view : cardBackgroundColor = "@ color / white"
Himanshu Mori

2
xmlns : app = " schemas.android.com/apk/res-auto "를 레이아웃 파일에 포함 시키십시오.
불가능한

1
사용하고 android.support.v7.widget.CardView있습니다. 사용 app:cardBackgroundColor="@somecolor"은 저에게 효과적이지만 card_view:cardBackgroundColor="@somecolor"그렇지 않았습니다.
Zamrony P. Juhara

36

XML 또는 프로그래밍 방식으로 수행 할 수 있습니다.

XML에서 :

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

프로그래밍 방식으로 :

cardView.setCardBackgroundColor(Color.RED);

1
답변 주셔서 감사합니다, 나는 그것을 해결했다. 나는 눈에 띄지 않는 곳에서 프로그래밍 방식으로 색상을 변경했습니다.
Ishaan

5

XML을 위한 코 틀린

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

암호

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


1
감사합니다. 이전에 card.setCardBackgroundColor (R.color.bla)를 사용하여 매우 이상한 결과가 발생했습니다. ContextCompat를 통해 색상을 얻는 것이 나에게 속임수였습니다.
chrjs

3

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

코드에서

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

-2

app:cardBackgroundColor="#488747"

이것을 카드보기에서 사용하면 카드보기의 색상을 변경할 수 있습니다


-2

당신이 사용할 수있는

app:cardBackgroundColor="@color/red"

또는

android:backgroundTint="@color/red"
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.