2013-06-05 112 views
0

我有一個佈局,它具有用戶定製的bg顏色。用戶填寫4個值。 R-G-B-Alpha將RGBA顏色設置爲佈局

但是,我已經看到在佈局中設置顏色的方法,不接受4個值。 setBackgroundColor()只接受int值。

我已經搜索了一個Java解析器,從RGBA到HEX,但是我找不到任何東西。

你知道我在哪裏可以找到一個嗎?

謝謝。

+0

你有4 INT值ARGB,你想檢索十六進制顏色? – Blackbelt

+0

確切地說,就是這樣。我有類似的東西:a = 0.5,r = 243,g = 200,b = 15 – Reinherd

+0

你需要rgba或argb中的顏色好嗎? – Blackbelt

回答

10

試試這個。在color.xml

setBackgroundColor(Color.argb(a_int, r_int, g_int, b_int)); 
+0

alpha是從0到1的值,所以不能是整數。 – Reinherd

+0

你是否在做一些像'int alpha = float_alpha * 255'這樣的數學算法? – Reinherd

+0

好吧,那些數學做的伎倆。謝謝。 – Reinherd

-3

寫入顏色代碼文件夾 -

<resources> 
<color name="white">#FFFFFFFF</color> 
<color name="black">#FF000000</color> 
<color name="red">#FFFF0000</color> 
<color name="blue">#FF0000FF</color> 

然後在代碼中設置佈局背景

LinearLayout ll=find(...); 
ll.setBackgroundResource(R.color.white); 
+1

這沒有定義alpha值。 – Maaz

6
int alpha = (int)(a * 255.0f); 
Color.argb(alpha, r, g, b);