android - 有没有办法以编程方式随机设置芯片背景颜色?
问题描述
我一直在搞乱我的应用程序中芯片组中芯片的颜色,并一直在尝试设置背景颜色。我想让每个芯片在放入芯片组之前从一个范围内随机选择颜色,但不知道该怎么做。
我有一个随机生成的rgb颜色没问题,但我不知道如何设置芯片的颜色。通常,您似乎使用 设置了芯片的背景颜色setChipBackroundColor(ColorStateList)
,但ColorStateList
似乎特别需要颜色的资源 ID...
关于我可以在这里做什么的任何想法?
解决方案
您需要ColorStateList.valueOf()
在函数内部使用setChipBackgroundColor()
。这是一个示例代码。
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));
推荐阅读
- android - 如何在 Android App 进入后台之前更改视图?
- java - 在android studio中处理希伯来语输入
- sql-server - 每次运行 SQL Server 过程时都获得任意结果
- terraform - 使用远程状态时如何列出资源?
- java - 如何使用列表解决访问数组
- flutter - '(BuildContext, Exception) => void' 不是类型 '(BuildContext, Exception) => () => void' 的子类型
- html - 透明背景的 CSS 圆形甜甜圈图
- c - 我的 CS50 信用问题代码有什么问题?
- leaflet - 使用带有集群选项的传单地图时,某些圆圈不可点击
- java - 在 JSP 中使用 JAVA 将 SQL 数据附加到数据表中