我正在从服务器接收十六进制颜色值(在此表单中,#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
我为他们的setBackgroundColor(int color)
函数使用了Android SDK,正如你可能已经猜到的那样,它接受一个整数颜色值。
这是这个问题的对立面:How to convert a color integer to a hex String in Android?
发布于 2013-01-26 10:48:27
真正的答案是使用:
Android中的Color.parseColor(myPassedColor)
,myPassedColor
是hex
的值,像#000
、#000000
或#00000000
。
但是,这个函数是does not support shorthand hex values的,比如#000
。
发布于 2011-08-04 09:07:27
Integer.parseInt(myString.replaceFirst("#", ""), 16)
发布于 2012-07-26 09:01:58
我也有同样的问题,我在#AAAAAA
的表单中发现了一些颜色,我想把它转换成一个安卓可以利用的表单。我发现你可以直接使用0xFFAAAAAA
,这样安卓就可以自动辨别颜色了。注意,第一个FF
告诉我们alpha
的值。希望能有所帮助
https://stackoverflow.com/questions/6935057
复制相似问题