动态更改CardView的BackgroundColor

par*_*ite 5 android material-design android-cardview

在文档中写道,CardView的BackgroundColor可以用XML设置card_view:cardBackgroundColor.但是,我找不到相应的方法来动态更改背景.

使用mCardView.setBackgroundColor(Color.argb(75, 102,80,67));会导致CardView丢失圆角和阴影.

Ven*_*aju 8

为卡片视图的子类提供背景颜色将留下填充部分以防卡片视图具有任何颜色,并且这不是一个好方法.

假设您有一个适配器来加载卡片视图中的列表,请动态更改卡片视图颜色,如下所示.

在适配器Viewholder类的构造函数中

mCardView = (CardView) itemView.findViewById(R.id.card_view);
Run Code Online (Sandbox Code Playgroud)

在适配器类的onBindViewHolder方法中:

holder.mCardView.setCardBackgroundColor(Color.GREEN); // will change the background color of the card view to green
Run Code Online (Sandbox Code Playgroud)

持有人是您的观察者类的对象.