2017-01-30 135 views
1

我在下面尝试过,但它在解析颜色时抛出一个错误。提前致谢。解析十六进制'0x0976b8'颜色android

hexColorStr = "0x0976b8" 
view.setBackgroundColor(Color.parseColor(String.format("#%06X", Integer.parseInt(hexColorStr))) 

UPDATE: 出于某种原因,在"0x0976b8"消除0X为我工作。

view.setTextColor(Color.parseColor("0x0976b8".replace("0x","#"))); 

是否有任何理由为什么我必须删除0x表格"0x0976b8"使其工作。在此先感谢..

回答

2

尝试:

view.setBackgroundColor(Integer.parseInt(hexColorStr)) 

您的字符串是hexadcimal格式,它将返回

int color = 0xFFFF0000; 

如果您提供的6个十六进制数字,这意味着RGB(2个十六进制数字对于红色,绿色和蓝色的每个值)。

如果您提供8位十六进制数字,它是一个ARGB(分别为alpha,红色,绿色和蓝色的每个值的2个十六进制数字)。

看到Documentation

0

尝试

view.setBackgroundColor(Color.parseColor("#0976b8")); 
+0

它抛出'java.lang.NumberFormatException:对于输入字符串: “0x0976b8”' –

+0

需要RRRGGBB或ARRGGBB对不起删除0X – zMabrook

1

解析颜色期望有特定的格式:#RRGGBB #AARRGGBB。

更改为 view.setBackgroundColor(Color.parseColor("#0976b8"));