Возможность рисования в качестве фона для CardView

CardView (android.support.v7.cardview) остается белым, даже несмотря на то, что я устанавливаю обратное рисование через андроид: backround – документация дает мне ощущение, что она должна работать. Нет идеи, что я делаю неправильно здесь.

Я знаю, что это старый вопрос, но у меня есть простое решение – просто сделайте первый ребенок вашего CardView ImageView и укажите тип шкалы для fitXY . Вы можете избавиться от дополнительного дополнения CardView, установив cardElevation и cardMaxElevation в 0dp :

 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http://schemas.android.com/apk/res-auto" android:layout_width="match_parent" android:layout_height="200dp" app:cardCornerRadius="4dp" app:cardElevation="0dp" app:cardMaxElevation="0dp"> <ImageView android:src="@drawable/your_background" android:layout_width="match_parent" android:layout_height="match_parent" android:scaleType="fitXY"/> <... your layout .../> </android.support.v7.widget.CardView> 

Для рисования или использования цвета:

 cvSellerShopp.setBackgroundResource(R.drawable.ic_action_add_image); 

Для использования цвета:

  cvSellerShopp.setCardBackgroundColor(R.color.colorPrimary); 

Но это не дает ожидаемых результатов

В этом случае Cardview будет размещать одну группу представлений, например, относительную компоновку, а затем просто установить любой фон в относительный макет.

 <?xml version="1.0" encoding="utf-8"?> <android.support.v7.widget.CardView xmlns:android="http://schemas.android.com/apk/res/android" xmlns:card_view="http://schemas.android.com/apk/res-auto" android:id="@+id/list_container" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:layout_margin="5dp" card_view:cardCornerRadius="4dp" card_view:cardUseCompatPadding="true"> <RelativeLayout android:id="@+id/list_container_bg" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:gravity="center" android:orientation="vertical"> <!--Add cardview contents--> </RelativeLayout> </android.support.v7.widget.CardView> 

Использовать cardview:cardBackgroundColor атрибут cardview:cardBackgroundColor :

 android.support.v7.cardview:cardBackgroundColor="@color/black" 

Или в коде,

 myCardViewObject.setCardBackgroundColor(someIntColor) 

Подробнее здесь: https://developer.android.com/reference/android/support/v7/widget/CardView.html