2017-01-09 5 views
49

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

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

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

+1

card_view: cardBackgroundColor = "@ андроид : color/white ". –

+0

Нужен код, чтобы помочь – Manza

+0

Это очень длинный код, поэтому я его не публиковал. Позвольте мне опубликовать соответствующий код. – Ishaan

ответ

118

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

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> 

Edit: Как указано на @imposible, вам необходимо включить

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

в вашем корневом теге XML для того, чтобы сделать эту сниппета функцию

+2

Благодарим вас за ваш ответ, оцените его. – Ishaan

+1

Это сработало для меня, когда я использовал его вот так:> card_view: cardBackgroundColor = "@ color/white" –

+1

В этом случае есть xmlns: app = "http://schemas.android.com/apk/res- auto ", включенный в ваш файл макета. – impossible

18

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

В XML:

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

Программным:

cardView.setCardBackgroundColor(Color.RED); 
+0

Спасибо за ваш ответ, я решил. Я изменил цвет программно где-то, что я не мог заметить. – Ishaan

Смежные вопросы