開發中,我們用的的顏色都是不是 百分之百純色 ,UI 可能會說,這個顏色(0x FFFFFF) 20%,那個顏色(ff323232)60%,遇到懂得 點技術的 UI 他會直接給你 #66000000 ,或者 #8f323232 的 顏色,你在color中 直接用就行。但是作為一個開發,要會能把 各種 文字語言轉換成 代碼,【黑色透明30%】。我最初也是在 網上搜索,后來應用。現在准備把一套 顏色的 使用都整理出來。助各位看官在開發中 一站直達。
簡單的使用 十六進制 顏色 :
基本:#e28a22
透明度:#1Ae28a22
RGB:226,138,34
ARGB:26,226,138,34
怎么變成這么樣子的呢,一步一步來解析:
拿到十六進制顏色,需要加透明度,百度有很多 別人整理的。我隨便粘貼一個:
<!--百分比-開頭字母-->
<!--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-->
嗯,網上很多,這個我覺得還是比較正規的,放在0x(#)后面就行 比如 #FFFFFF 45%透明,就是#73FFFFFF
基本上就可以在color 里用了,如果某些地方只能 用RGB /ARGB 這時候 就需要 用公式轉換了
用的地方很少,但也很可能用到,比如地圖中 在以前的SDK 中就只支持 RGB /ARGB
Circle circle = aMap.addCircle(new CircleOptions(). center(new LatLng(bean.getLatitude(), bean.getLongitude())).
radius(bean.getRadius()).
fillColor(Color.argb(50, 255, 0, 0)).
strokeColor(Color.argb(120, 255, 0, 0)).
strokeWidth(1));
還有的時候,支持 .getColor(R.color.pf_color_e1e1e1),但是APP 運行起來后 顏色就是不對。 這時候就應該用rgb了
公式也很簡單
public void changeArgb(int color){
//int color = 0x1A0078ff;
int alpha = (color & 0xff000000) >>> 24;
int red = (color & 0x00ff0000) >> 16;
int green = (color & 0x0000ff00) >> 8;
int blue = (color & 0x000000ff);
}
AGB 的話,注釋掉上邊那個alpha 就行。
解釋:
#AARRGGBB 對應的是 AA =透明度 RR = 紅 GG = 綠 BB =藍 ;
如果需要將50%換算成十六進制#AA這兩位就行。因為透明度有255 階
說明
Ⅰ) 5/10即0.5=50%;
Ⅱ) y=5*255/10,得到y=127(取整數。。 < …5 >)
127為十進制,需要換算成十六進制
————————————————
版權聲明:本文為CSDN博主「唯愛丶卡卡西」的原創文章,遵循CC 4.0 BY-SA版權協議,轉載請附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/qq_31332467/article/details/74838617