CardViewの背景色は常に白


138

GridLayoutManagerでRecyclerViewを使用していて、各アイテムをCardViewとして持っています。

残念ながら、ここのCardViewは背景色を変更しないようです。私もレイアウトとプログラムを試してみましたが、うまくいくように思えませんでした。

かなり苦労しています。誰かがこの問題を解決してくれるとありがたいです。


4
card_view:cardBackgroundColor = "@ android:color / white"これで確認してください。
santosh kumar 2017年

役立つコードが必要
Manza

コードが非常に長いため、投稿しませんでした。関連するコードをいくつか掲載させてください。
Ishaan

ここに投稿するコードを調べていると、どこかにcardView.setCardBackgroundColor(Color.WHITE);を配置したことがわかりました。それがいつも白だった理由です。
Ishaan 2017年

回答:


348

カードの背景色を変更する場合は、次を使用します。

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
回答ありがとうございます。
イシャーン2017年

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 2017年

36

XMLまたはプログラムで実行できます。

XMLの場合:

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

プログラム的に:

cardView.setCardBackgroundColor(Color.RED);

1
回答ありがとうございます、解決しました。プログラムで色を見つけられなかった場所で変更しました。
Ishaan 2017年

5

XML用Kotlin

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="@color/red"

または

android:backgroundTint="@color/red"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.