0

我正在尝试将 ARGB 十六进制解析String为 anint但它不起作用。

我的代码:

int color = Integer.parseInt("ff686868", 16);

例外:

java.lang.NumberFormatException: unable to parse 'ff686868' as integer
at java.lang.Integer.parse(Integer.java:438)
at java.lang.Integer.parseInt(Integer.java:422)
...

当我尝试解析正常的 RGB时String686868它确实有效,但是当我添加 alpha 时,它会崩溃。我希望有一个人可以帮助我。

4

4 回答 4

3

这个数字对于整数来说太大了。

采用:Long.parseLong(..)

于 2011-10-09T15:05:46.320 回答
3

使用java.lang.Long.parseLong()int是有符号的,所以它只有 31 位 + 1 个符号位,并且您使用全部 4 * 8 = 32 位。

于 2011-10-09T15:06:24.593 回答
3

您可以使用Color.parseColor(String)获取 int

于 2011-11-06T01:02:36.437 回答
0
Color.parseColor(String);

如果 itz hexacode 这样做

Color.parseColor("#ffffff");
于 2012-04-20T07:55:35.550 回答