0

当我想设置自定义颜色时,CardBackgroundColor 保持灰色,而默认颜色可以正常工作。

例如, Card.setCardBackgroundColor(R.color."customcolor") 不设置自定义颜色。颜色为灰色,而 Card.setCardBackgroundColor(Color.RED) 工作正常。

我试过了:

  • 在没有 Alpha 的情况下取色
  • 设置为 0dp 高度
  • Card.setCardBackgroundColor(color."customcolor")

没结果。

编辑 :

Card.setCardBackgroundColor(Color.parseColor("#FFFFFFFF")) 有效。但我必须对颜色进行硬编码。有更好的方法吗?

4

2 回答 2

1

嘿嘿,

你必须从这样的资源中获取颜色

Card.setCardBackgroundColor(getResources().getColor(R.color.'your color'));

编辑

当您从适配器获取上下文时,因此

Card.setCardBackgroundColor(context.getResources().getColor(R.color.'your color'));

这完美!

于 2020-12-22T17:51:39.693 回答
0

Card.setCardBackgroundColor 方法将颜色作为参数而不是颜色资源 ID,因此在您提供 ID 时它会失败。

所以使用颜色资源的正确方法如下所示。

 Card.setCardBackgroundColor(ContextCompat.getColor(context, R.color.your_color));
于 2020-12-22T17:55:38.157 回答