CardView背景颜色始终为白色


138

我将RecyclerView与GridLayoutManager一起使用,并且每个项目都作为CardView。

不幸的是,这里的CardView似乎没有改变其背景颜色。我尝试了布局和程序设计,但是我似乎没有任何尝试。

我已经挣扎了很长一段时间。如果有人可以帮助我解决此问题,我将不胜感激。


4
card_view:cardBackgroundColor =“ @ android:color / white”与此检查。
santosh kumar,2017年

需要代码帮助
Manza

这是很长的代码,因此我没有发布。让我发布一些相关代码。
伊桑(Ishaan)

在浏览代码的过程中,我发现我将cardView.setCardBackgroundColor(Color.WHITE)放在了某个地方。这就是为什么它总是白色的原因。
伊桑(Ishaan)

Answers:


347

如果要更改卡的背景色,请使用:

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标记中以使此代码段起作用


2
谢谢您的回答,不胜感激。
伊桑(Ishaan)

1
当我这样使用它时,它为我工作---> card_view:cardBackgroundColor =“ @ color / white”
Himanshu Mori

2
这样,您的布局文件中将包含xmlns:app =“ schemas.android.com/apk/res-auto ”。
不可能

1
我正在使用android.support.v7.widget.CardView。使用app:cardBackgroundColor="@somecolor"对我有用,但card_view:cardBackgroundColor="@somecolor"没有。
Zamrony P. Juhara

36

您可以使用XML或以编程方式执行此操作:

在XML中:

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

以编程方式:

cardView.setCardBackgroundColor(Color.RED);

1
谢谢您的回答,我解决了。我已通过编程方式更改了无法找到的颜色。
伊桑(Ishaan)

5

Kotlin for XML

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

cardName.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorGray))


1
谢谢。我以前使用过card.setCardBackgroundColor(R.color.bla),这会导致非常奇怪的结果。通过ContextCompat获取颜色对我有用。
chrjs

3

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

-2

app:cardBackgroundColor="#488747"

在您的即时贴视图中使用此功能,即可更改即时贴视图的颜色


-2

您可以使用

app:cardBackgroundColor="@color/red"

要么

android:backgroundTint="@color/red"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.