Android 颜色设置:透明度换算
簡介
#開頭色值
Android中的顏色值通常遵循RGB/ARGB標準,使用時通常以“#”字符開頭,以16進制表示。比如程序中用到的:android:textColor=”#F8FF00” , 常用的顏色值格式為:
#RGB #ARGB #RRGGBB #AARRGGBB其中,ARGB 依次代表透明度(alpha)、紅色(red)、綠色(green)、藍色(blue)。
以顏色值 #FF99CC00 為例,其中,FF 是透明度,99 是紅色值, CC 是綠色值, 00 是藍色值。
代碼中的色值
在android中經常看到設置的顏色為八位的十六進制的顏色值,例如:
public static final class color {public static final int lightblue=0x7f040000; }或者在 Java 中
textView.setTextColor(0xffff00f);說明:
0xffff00ff 是 int 類型的數據,分組一下 0x|ff|ff00ff,0x 表示顏色整數的標記,ff表示透明度,ff00ff表示色值,注意:0x后面ffff00ff必須是8位的顏色表示。
顏色和不透明度 (alpha) 值以十六進制表示法表示。任何一種顏色的值范圍都是 0到 255(00到 ff)。
對于 alpha,00表示完全透明,ff表示完全不透明。
表達式順序是”aabbggrr”,其中”aa=alpha”(00到ff);”bb=blue”(00到ff);”gg=green”(00到ff);”rr=red”(00到ff)。
透明度
透明度分為256階(0-255),計算機上用16進制表示為(00-ff)。透明就是0階,不透明就是255階,如果50%透明就是127階(256的一半當然是128,但因為是從0開始,所以實際上是127)。
透明度 和 不透明度 是兩個概念, 它們加起來是1,或者100%.
ARGB 中的透明度alpha,表示的是不透明度。依據來自維基百科中的定義。
換算
在開發過程中,UI/UE給的標注圖上,所有顏色值是RGB,但是透明度經常都是百分比,例如:顏色值:#FFFFFF,透明度40%。
使用過程中我們需要進行換算。以之前的值為例,換算過程如下:
將透明度轉換成不透明度(轉換方式參考“透明度”,第2條) 。 不透明度為60%
不透明度乘以255。 我們得到結果:153
將計算結果轉換成16進制。得到最終的不透明度:99
將不透明度和顏色值拼接成ARGB格式。得到最終的顏色值: #99FFFFFF
常用不透明度對應十六進制值
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 颜色设置:透明度换算的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Android Studio:64K问题
- 下一篇: Android Canvas画图形(更新