2017-01-30 163 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"));