目錄
一、背景
二、顏色值標準格式
三、透明度
四、透明度計算
作為一名android開發人員,在每次開發的時候,ui會在設計圖中標註顏色值,或者會直接給出顏色值,如:#ff2309,但是有時候為了達到某種效果,需要在顏色值前面新增透明度,如:40%的透明度。還有一種情況就是交給ui驗收的時候,說介面和設計圖不符,讓自己回去做對比,往往和透明度的值有關係,我的天!整個人都不好了,透明度怎麼計算?怎麼搞?
一定要和ui對接好,ui給的是透明度不透明度的值,很重要!!!
android中的顏色值標準格式為rgb/argb標準,使用時通常以「#」字元開頭,以16進製表示。
如:#rgb、#rrggbb、#argb、#aarrggbb。r:紅色;g:綠色;b:藍色;a:透明度,如果不含a,說明完全透明(即預設100%,完全不透明)。
一定要和ui對接好,ui給的是透明度不透明度的值,很重要!!!
口語說的透明度從0%~100%,換算成二進位制為256個值(0-255),計算機上用16進製表示為(00-ff)。透明就是0,不透明就是255,如果50%透明就是127(256的一半是128,但因為是從0開始,所以實際上是127)。
透明度 和 不透明度 是兩個概念, 它們加起來是1,或者100%.
argb 中的透明度alpha,表示的是不透明度。
需要不透明度值的,可以自己算:透明度值 + 不透明度值 = 100%
如果你的ui設計師給的視覺稿標註是:顏色#ffffff,透明度40% 。那你的計算方式應該是:
將透明度轉換成不透明度。不透明度為:60%
不透明度乘以255。 我們得到結果:153
將計算結果轉換成16進製制。得到最終的不透明度:99
將不透明度和顏色值拼接成argb格式。得到最終的顏色值: #99ffffff
所以,你的ui設計師要的顏色是:#99ffffff
如果ui給的是透明度值a%,則計算公式:255*(100% - a%) ,將計算結果轉為16進,對照表1:表1
透明度16進製表示
100 %
0099 %
0398 %
0597 %
0796 %
0a95 %
0d94 %
0f93 %
1292 %
1491 %
1790 %
1a89 %
1c88 %
1e87 %
2186 %
2485 %
2684 %
2983 %
2b82 %
2e81 %
3080 %
3379 %
3678 %
3877 %
3b76 %
3d75 %
4074 %
4273 %
4572 %
4771 %
4a70 %
4d69 %
4f68 %
5267 %
5466 %
5765 %
5964 %
5c63 %
5e62 %
6161 %
6360 %
6659 %
6958 %
6b57 %
6e56 %
7055 %
7354 %
7553 %
7852 %
7a51 %
7d50 %
8049 %
8248 %
8547 %
8746 %
8a45 %
8c44 %
8f43 %
9142 %
9441 %
9640 %
9939 %
9c38 %
9e37 %
a136 %
a335 %
a634 %
a833 %
ab32 %
ad31 %
b030 %
b329 %
b528 %
b827 %
ba26 %
bd25 %
bf24 %
c223 %
c422 %
c721 %
c920 %
cc19 %
cf18 %
d117 %
d416 %
d615 %
d914 %
db13 %
de12 %
e011 %
e310 %
e69 %
e88 %
eb7 %
ed6 %
f05 %
f24 %
f53 %
f72 %
fa1 %
fc0 %
ff舉個例子:
ui給出的顏色值為#ffff00,透明度40%。
結合表1,40%的透明度16進製制的值為 99,那麼最終的顏色值為 #99ffff00
如果ui給的是不透明度值a%,則計算公式:255*(a%) ,將計算結果轉為16進,對照表2:表2
不透明度
十六進製制
100%
ff99%
fc98%
fa97%
f796%
f595%
f294%
f093%
ed92%
eb91%
e890%
e689%
e388%
e087%
de86%
db85%
d984%
d683%
d482%
d181%
cf80%
cc79%
c978%
c777%
c476%
c275%
bf74%
bd73%
ba72%
b871%
b570%
b369%
b068%
ad67%
ab66%
a865%
a664%
a363%
a162%
9e61%
9c60%
9959%
9657%
9456%
9156%
8f55%
8c54%
8a53%
8752%
8551%
8250%
8049%
7d48%
7a47%
7846%
7545%
7344%
7043%
6e42%
6b41%
6940%
6639%
6338%
6137%
5e36%
5c35%
5934%
5733%
5432%
5231%
4f30%
4d28%
4a28%
4727%
4526%
4225%
4024%
3d23%
3b22%
3821%
3620%
3319%
3018%
2e17%
2b16%
2915%
2614%
2413%
2112%
1f11%
1c10%
1a9%
178%
147%
126%
0f5%
0d4%
0a3%
082%
051%
030%00
舉個例子:
ui給出的顏色值為#ffff00,不透明度40%。
結合表2,40%的不透明度16進製制的值為 66,那麼最終的顏色值為 #66ffff00
參考:
用SBT構建Scala開發的Android工程
二 環境變數的配置 配置環境變數android home,指向android sdk的目錄位址。這裡寫描述 如果專案中有使用到ndk編譯的,需要配置android ndk home環境變數。這裡寫描述 三 sbt構建指令碼的編寫 在專案的根目錄建立資料夾project,並建立檔案plugins.sb...
2012移動開發者大會上海站Android專場
2012移動開發者大會上海站android專場將於9月01日下午在上海創智天地會議中心隆重召開。本屆大會分為趨勢篇與技術篇,並從ios android windows phone html5等多領域展開話題,眾多產業領袖與技術大咖首度雲集,為廣大社群聯盟的會員及觀眾帶來一場精彩絕倫的腦力提公升盛宴。...
Android開發 Android搜尋框架(二)
1.建立搜尋建議提供者 android已經為我們建立了乙個預設的,我們只需要繼承 searchrecentsuggestionprovider 就稍做修改就可以了。見 1 import android.content.searchrecentsuggestionsprovider 2 3 4 搜尋提...