我想使用一个颜色从一个六边形字符串,如“#FFFF0000”来(说)改变一个布局的背景颜色。 颜色。HSVToColor看起来像一个赢家,但它以float[]作为参数。

我离解决方案还有一步之遥吗?


当前回答

尝试使用0xFFF000代替,并将其传递到颜色。HSVToColor方法。

其他回答

尝试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;

如果你在XML中定义了一个颜色,并想用它来改变背景颜色或其他东西,这个API就是你正在寻找的:

 ((TextView) view).setBackgroundResource(R.drawable.your_color_here);

在我的示例中,我将它用于TestView

It's

int color =  Color.parseColor("colorstring");

尝试使用0xFFF000代替,并将其传递到颜色。HSVToColor方法。