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

新手上路,请多包涵

CardView 有一个属性 card_view:cardBackgroundColor 来定义背景颜色。此属性工作正常。

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

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

 mCardView.setBackgroundColor(...);

或在 cardView 内使用 Layout

    <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。

原文由 Gabriele Mariotti 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.1k
2 个回答

您正在寻找的是:

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

在 XML 中

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

更新:在 XML

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

原文由 Simon 发布,翻译遵循 CC BY-SA 4.0 许可协议

private MaterialCardView imgIgnition;
imgIgnition = findViewById(R.id.imgIgnition);
imgIgnition.setCardBackgroundColor(Color.parseColor("#198754"));

上面的代码为我工作

原文由 Aaraf Rao 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题