【Android】關於色碼那件事,取得Color的int值

開發app過程中一定會接觸到所謂的色碼,至於色碼又有下面幾種的規範
CMYK、HEX、ARGB、HSB、RGBA等等...

在Android最常看到的就是 HEX 和 ARGB 兩種
HEX 
就是所謂的16進制的色碼,像是白色就是#FFFFFF、黑色就是#000000,練到後期成精有時候還可以直接推斷顏色,記得有次討論群組設計師把色碼"#FF0000"貼在對話框上,這邊就很直覺的回答,紅色對吧...
所以開發Android的人員如果說不知道HEX的可以拖下去.....

RGB、ARGB 
光的三原色,紅(Red)、綠(Green)、藍(Blue)以不同的比例相加,以合成產生各種顏色,有點類似小時候玩過的水彩調色盤,但這種就比較沒有辦法練到你可以精準的記下三原色的色碼。
A是什麼? 其實就是"Alpha",也就是透明度。以下就是對應的透明度編碼。
100% — FF 
95% — F2 
90% — E6 
85% — D9 
80% — CC 
75% — BF 
70% — B3 
65% — A6 
60% — 99 
55% — 8C 
50% — 80 
45% — 73 
40% — 66 
35% — 59 
30% — 4D 
25% — 40 
20% — 33 
15% — 26 
10% — 1A 
5% — 0D 
0% — 00

在Android  Alpha是可以和HEX混和在一起做使用的。
像是剛剛提到的黑色#000000,如果再前面加上對應的透明度編碼#80000000
那輸出的顏色就會是50%透明的黑色。

但如果加入透明度的色碼,使用的時候要注意到背景色的部份
畢竟前端有時候會使用到圖層的堆疊,一樣都是50%透明的黑色
背景顏色是黑色與背景顏色是白色,出來的結果絕對不一樣。

另外一提,開發的過程中有時會看到
有些setColor()的function,要你帶入的參數是int
這時候要怎麼把HEX的色碼轉換成int?
透過
int colorInt = Color.parseColor("#FF0000");
就可以取出 "#FF0000" 的 int值為 -65536



沒有留言:

張貼留言