開發app過程中一定會接觸到所謂的色碼,至於色碼又有下面幾種的規範
CMYK、HEX、ARGB、HSB、RGBA等等...
在Android最常看到的就是 HEX 和 ARGB 兩種
HEX
就是所謂的16進制的色碼,像是白色就是#FFFFFF、黑色就是#000000,練到後期成精有時候還可以直接推斷顏色,記得有次討論群組設計師把色碼"#FF0000"貼在對話框上,這邊就很直覺的回答,紅色對吧...
所以開發Android的人員如果說不知道HEX的可以拖下去.....
所以開發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%透明的黑色
背景顏色是黑色與背景顏色是白色,出來的結果絕對不一樣。
那輸出的顏色就會是50%透明的黑色。
但如果加入透明度的色碼,使用的時候要注意到背景色的部份
畢竟前端有時候會使用到圖層的堆疊,一樣都是50%透明的黑色
背景顏色是黑色與背景顏色是白色,出來的結果絕對不一樣。
另外一提,開發的過程中有時會看到
有些setColor()的function,要你帶入的參數是int
這時候要怎麼把HEX的色碼轉換成int?
這時候要怎麼把HEX的色碼轉換成int?
透過
int colorInt = Color.parseColor("#FF0000");
就可以取出 "#FF0000" 的 int值為 -65536
沒有留言:
張貼留言