一尘不染

将十六进制颜色值(#ffffff)转换为整数值

java

我正在从服务器接收十六进制颜色值(以这种形式#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)功能,该功能需要-您可能已经猜到了-整数颜色值。


阅读 864

收藏
2020-12-03

共1个答案

一尘不染

真正的答案是使用:

Color.parseColor(myPassedColor)在Android中,myPassedColorhex值为#000#000000#00000000

但是,此功能不支持诸如的速记十六进制值#000

2020-12-03