我想使用一个颜色从一个六边形字符串,如“#FFFF0000”来(说)改变一个布局的背景颜色。 颜色。HSVToColor看起来像一个赢家,但它以float[]作为参数。
我离解决方案还有一步之遥吗?
我想使用一个颜色从一个六边形字符串,如“#FFFF0000”来(说)改变一个布局的背景颜色。 颜色。HSVToColor看起来像一个赢家,但它以float[]作为参数。
我离解决方案还有一步之遥吗?
当前回答
缩短十六进制代码
int red = colorString.charAt(1) == '0' ? 0 : 255;
int blue = colorString.charAt(2) == '0' ? 0 : 255;
int green = colorString.charAt(3) == '0' ? 0 : 255;
Color.rgb(red, green,blue);
其他回答
It's
int color = Color.parseColor("colorstring");
试试这个:
vi.setBackgroundColor(Color.parseColor("#FFFF0000"));
尝试Color类方法:
public static int parseColor (String colorString)
来自Android文档:
支持的格式是:#RRGGBB #AARRGGBB '红色','蓝色','绿色','黑色','白色','灰色','青色','品红','黄色','浅灰色','深灰色'
AndroidX:弦toColorInt()。
将该字符串转换为可用于setBackgroundColor和setTextColor的int颜色
String string = "#FFFF0000";
int color = Integer.parseInt(string.replaceFirst("^#",""), 16);
16表示它是十六进制,而不是常规的0-9。结果应该是一样的
int color = 0xFFFF0000;
试试这个
int colorInt = Color.parseColor("#FF00FFF0");
bg.setBackgroundColor(colorInt);
bg是你想要设置背景色的视图或布局。