android - 以编程方式更改 CardView 的背景颜色

标签 android android-5.0-lollipop android-cardview

CardView有一个属性 card_view:cardBackgroundColor 来定义背景颜色。 这个属性很好用。

同时没有动态改变颜色的方法。

我刚刚尝试过以下解决方案:

mCardView.setBackgroundColor(...);

或者在cardView中使用一个布局

   <android.support.v7.widget.CardView>
        <LinearLayout
            android:id="@+id/inside_layout">
    </android.support.v7.widget.CardView>  

 View insideLayout = mCardView.findViewById(R.id.inside_layout);
 cardLayout.setBackgroundColor(XXXX);

这些解决方案不起作用,因为卡片有 cardCornerRadius。

最佳答案

你要找的是:

CardView card = ...
card.setCardBackgroundColor(color);

在 XML 中

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

更新: 在 XML 中

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

关于android - 以编程方式更改 CardView 的背景颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26561122/

相关文章:

java - 传递 Intent 返回的 Uri 时 ContentResolver 中不支持的 Uri

android - 在 EditBox 上创建带边距的背景图片

Android Lollipop 按钮波纹不显示

android - 如何知道 RecyclerView 何时完成放置项目?

android - setCardElevation 在 Lollipop 之前没有效果

android - 卡片 View 背景颜色影响阴影颜色

java - 我有多个布局文件,但应用程序只能识别 1 个?

android - 检查应用程序是在前台还是后台运行(使用同步适配器)

java - 如何在 android 的 recyclerview 中显示最后一项的选择?

android - SQLite 数据库在 <table_name>(column) 上给出警告自动索引升级 Android L 后