2014-07-24 43 views

回答

6

使用ColorDrawable

ColorDrawable cd = (ColorDrawable) textView.getBackground(); 
int color = cd.getColor(); 
int alpha = cd.getAlpha(); 
int red = Color.red(color); 
int green = Color.green(color); 
int blue = Color.blue(color); 

Official Color Docs

Color類定義了用於創建和轉換顏色整型方法。

顏色表示爲壓縮整數,由4個字節組成:alpha,red,green,blue。

這些值是無法預測的,這意味着任何透明度都只存儲在alpha組件中,而不存儲在顏色組件中。

組件存儲如下(alpha < < 24)| (紅色< < 16)| (綠色< < 8)|藍色。

每個組件的範圍介於0..255之間,其中0代表對該組件沒有貢獻,255代表100%貢獻。

因此不透明的黑色將是0xFF000000(100%不透明,但沒有從紅色,綠色或藍色的貢獻),和乳白色的將是 0xFFFFFFFF的

Reference

+0

如何獲得'顏色'是一個整數的RG和B值? – nomongo

+0

查看我的編輯 – crocboy

+0

我擴展了示例代碼以及 – crocboy

相關問題