我从服务器接收十六进制颜色值(在此表单中,黑色#xxxxxx
示例#000000
)
如何将其转换为整数值?
我试图Integer.valueOf("0x" + passedColor.substring(1, passedColor.length()))
获得更多的六进制0x000000
结果,但这不是int
在这里,任何其他建议?
我收到一个错误: 08-03 21:06:24.673: ERROR/AndroidRuntime(20231): java.lang.NumberFormatException: unable to parse '0x00C8FBFE' as integer
我正在使用Android SDK作为他们的setBackgroundColor(int color)
功能,正如您可能已经猜到的那样 - 整数颜色值.
这是这个问题的对立面:如何在Android中将颜色整数转换为十六进制字符串?
真正的答案是使用:
Color.parseColor(myPassedColor)
在机器人,myPassedColor
是所述hex
等值#000
或#000000
或#00000000
.
但是,此函数不支持速记十六进制值,例如#000
.
Integer.parseInt(myString.replaceFirst("#", ""), 16)
答案是非常简单的家伙,在android中如果你想将十六进制颜色转换为int,只需使用android Color类,示例如下所示
这是浅灰色
Color.parseColor("#a8a8a8");
多数民众赞成,你会得到你的结果.
我有同样的问题,我发现了一些形式的颜色#AAAAAA
,我想将其转换为Android可以使用的形式.我发现你可以使用,0xFFAAAAAA
以便android可以自动告诉颜色.注意第一个FF
是告诉alpha
价值.希望能帮助到你