Używam RecyclerView z GridLayoutManager i mam każdy element jako CardView.
Niestety, tutaj CardView nie wydaje się zmieniać koloru tła. Próbowałem w układzie i programistycznie, ale nie próbowałem nic nie działa.
Od dłuższego czasu walczę. Doceniam, gdyby ktoś mógł mi pomóc w tej sprawie.
Odpowiedzi:
Jeśli chcesz zmienić kolor tła karty, użyj:
app:cardBackgroundColor="@somecolor"
lubię to:
<android.support.v7.widget.CardView android:layout_width="match_parent" android:layout_height="wrap_content" app:cardBackgroundColor="@color/white"> </android.support.v7.widget.CardView>
Edycja: jak wskazano w @imposible, musisz dołączyć
xmlns:app="http://schemas.android.com/apk/res-auto"
w głównym tagu XML, aby utworzyć funkcję tego fragmentu
źródło
android.support.v7.widget.CardView
. Używanieapp:cardBackgroundColor="@somecolor"
działało dla mnie, alecard_view:cardBackgroundColor="@somecolor"
nie.Możesz to zrobić w XML lub programowo:
W XML:
card_view:cardBackgroundColor="@android:color/red"
Programowo:
cardView.setCardBackgroundColor(Color.RED);
źródło
Kotlin dla XML
app:cardBackgroundColor="@android:color/red"
kod
cardName.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorGray));
źródło
Kod 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" />
Z kodu
CardView card = findViewById(R.id.card_view_top); card.setCardBackgroundColor(Color.parseColor("#E6E6E6"));
źródło
app:cardBackgroundColor="#488747"
użyj tego w widoku karty i możesz zmienić kolor widoku karty
źródło
Możesz użyć
app:cardBackgroundColor="@color/red"
lub
android:backgroundTint="@color/red"
źródło