我正在使用的卡片的高度设置为1dp,半径为4dp
<androidx.cardview.widget.CardView
android:elevation="1dp"
app:cardCornerRadius="4dp" />
我的目标是根据动作以编程方式更改背景颜色,这是到目前为止我尝试过的操作:
1)
Drawable background = cardView.getBackground();
background.setTint(mContext.getResources().getColor(R.color.selected_overlay));
cardView.setBackground(background);
OR
cardView.setCardBackgroundColor(mContext
.getResources()
.getColor(R.color.selected_overlay));
结果: 顶部和侧面的彩色阴影与底部的灰色阴影非常奇怪的混合
2)
cardView.setBackgroundColor(mContext
.getResources()
.getColor(R.color.selected_overlay));
结果:卡不再具有半径
整个屏幕的样子:
注意: 您在屏幕上看到的是水平RecyclerView中的一项。 RecyclerView一次仅显示一项。这三张卡是此1列表条目的一部分。卡本身不代表列表中的项目。