Цвет фона CardView всегда белый


Я использую RecyclerView с GridLayoutManager, и у меня есть каждый элемент как CardView.

К сожалению, вид карты здесь, похоже, не меняет свой цвет фона. Я пробовал в макете и программно, а также, но я пробовал ничего, кажется, не работает.

Я довольно долго боролся. Я ценю, если кто-то может помочь мне в этом вопросе.

4 72

4 ответа:

Если вы хотите изменить цвет фона карты, используйте:

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-теге, чтобы сделать этот фрагмент функции

Вы можете сделать это либо в XML, либо программно:

В XML:

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

Программно:

cardView.setCardBackgroundColor(Color.RED);

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"));

Приложение: cardBackgroundColor= "#488747 "

Используйте это в представлении карты, и вы можете изменить цвет представления карты