有没有办法以编程方式随机设置芯片背景颜色?

Is there a way to set chip background colors randomly, programmatically?

我一直在弄乱我应用程序中 ChipGroup 中芯片的着色,并一直在尝试设置背景颜色。我想让每个芯片在放入芯片组之前从一个范围内随机选择颜色,但不知道该怎么做。

我有一个随机生成的 rgb 颜色没问题,但我不知道如何设置芯片的颜色。通常,您似乎使用 setChipBackroundColor(ColorStateList) 设置了 Chip 的背景颜色,但 ColorStateList 似乎特别需要颜色的资源 ID...

关于我可以在这里做什么的任何想法?

您需要在 setChipBackgroundColor() 函数中使用 ColorStateList.valueOf()。这是一个示例代码。

Chip chip = findViewById(R.id.chip);

Random rnd = new Random();

int color = Color.rgb(rnd.nextInt(256), rnd.nextInt(256), rnd.nextInt(256));

chip.setChipBackgroundColor(ColorStateList.valueOf(color));