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

CardBackgroundColor remains Grey when I want to set a custom color, whereas default colors works fine

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

例如,Card.setCardBackgroundColor(R.color."customcolor") 不设置自定义颜色。颜色为灰色,而 Card.setCardBackgroundColor(Color.RED) 效果很好。

我试过:

没有结果。

编辑:

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

嘿嘿,

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

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

编辑

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

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

效果很好!!

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

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

 Card.setCardBackgroundColor(ContextCompat.getColor(context, R.color.your_color));