有没有办法以编程方式随机设置芯片背景颜色?
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));
我一直在弄乱我应用程序中 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));