CardView 背景颜色总是白色

我正在使用 GridLayoutManager 和回收视图,我有每个项目作为 CardView。

不幸的是,这里的 CardView 似乎没有改变它的背景颜色。我尝试在布局和编程,但我没有尝试似乎没有工作。

我已经挣扎了很长一段时间。如果有人能帮我解决这个问题,我会很感激。

145363 次浏览

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

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>

编辑: 正如“不可能”所指出的,您需要包括

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

在您的根 XML 标记中创建这个代码片段函数

您可以使用 XML 或编程方式完成此操作:

在 XML 中:

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

程序设计:

cardView.setBackgroundColor(ContextCompat.getColor(this, R.color.my_color));

app:cardBackgroundColor="#488747"

在你的卡片视图中使用它,你可以改变你的卡片视图的颜色

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

Kotlin 代表 XML

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

密码

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

你可以用

app:cardBackgroundColor="@color/red"

或者

android:backgroundTint="@color/red"

在 XML 中:

app:cardBackgroundColor="@color/your_color_name"

爪哇咖啡科特林中,你都可以通过编程来完成:

cardView.setCardBackgroundColor(ContextCompat.getColor(this, R.color.your_color_name));

如果在设计视图中仍然不可见,则可以临时删除这些行

app:cardUseCompatPadding="true"

或者

card_view:cardUseCompatPadding="true"

如果您需要它们,可以在构建时将它们添加回来