2017-01-09 17 views
49

Używam RecyclerView z GridLayoutManager i każdy element mam jako CardView.Kolor tła CardView zawsze biały

Niestety, CardView nie wydaje się zmieniać koloru tła. Próbowałem w układzie i programowo, ale próbowałem nic nie działa.

Mam już od dłuższego czasu. Doceniam, że ktoś może mi pomóc w rozwiązaniu tego problemu.

+1

card_view: cardBackgroundColor = "@ android : kolor/biały "sprawdź to. –

+0

Potrzebujesz kodu, aby pomóc – Manza

+0

Jest to bardzo długi kod, więc nie opublikowałem go. Pozwól, że opublikuję odpowiedni kod. – Ishaan

Odpowiedz

118

Jeśli chcesz zmienić kolor tła karty, należy:

app:cardBackgroundColor="@somecolor" 

tak:

<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: Jak wskazano przez @imposible, trzeba to

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

w głównym tagu XML w celu uczynienia tej funkcji urywek

+2

Dziękuję za odpowiedź, doceń to. – Ishaan

+1

To zadziałało, gdy użyłem tego w ten sposób ---> card_view: cardBackgroundColor = "@ color/white" –

+1

W tym, miej xmlns: app = "http://schemas.android.com/apk/res- auto "zawarte w twoim pliku układu. – impossible

18

Można to zrobić albo w formacie XML lub programowo:

W XML:

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

Programowo:

cardView.setCardBackgroundColor(Color.RED); 
+0

Dziękuję za odpowiedź, rozwiązałem to. Zmieniłem kolor programowo gdzieś, czego nie mogłem rozpoznać. – Ishaan