[英]CardView background color always white
我將 RecyclerView 與 GridLayoutManager 一起使用,並且我將每個項目都作為 CardView。
不幸的是,這里的 CardView 似乎並沒有改變它的背景顏色。 我也嘗試過布局和編程,但我嘗試過似乎沒有任何效果。
我已經掙扎了好一陣子了。 如果有人可以幫助我解決這個問題,我將不勝感激。
如果要更改卡片背景顏色,請使用:
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.setBackgroundColor(ContextCompat.getColor(this, R.color.my_color));
用於XML 的Kotlin
app:cardBackgroundColor="@android:color/red"
代碼
cardName.setCardBackgroundColor(ContextCompat.getColor(this, R.color.colorGray));
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"));
在 XML 中:
app:cardBackgroundColor="@color/your_color_name"
在Java和Kotlin 中,您都可以通過編程方式完成:
cardView.setCardBackgroundColor(ContextCompat.getColor(this, R.color.your_color_name));
如果在設計視圖中仍然不可見,您可以暫時刪除這些行
app:cardUseCompatPadding="true"
或者
card_view:cardUseCompatPadding="true"
如果您需要它們,您可以在構建時將它們添加回來
如果有人仍然得到白色而不是他選擇的顏色,只需更改您正在使用的模擬器,這對我有用
app:cardBackgroundColor="#488747"
在您的卡片視圖中使用它,您可以更改卡片視圖的顏色
您可以使用
app:cardBackgroundColor="@color/red"
或者
android:backgroundTint="@color/red"
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.