2014-10-10 156 views
0

有沒有方法可以將顏色添加到我可以從顏色字符串中獲取的顏色。 因爲現在我可以通過使用下面的代碼更改顏色對象上的Alpha

 CircleOptions options = new CircleOptions().center(new LatLng(car.getLatitude(), car.getLongitude())) 
      .radius(car.getRadius()) 
      .strokeColor(Color.argb(50,232,245,248)) 
      .strokeWidth(2) 
      .fillColor(Color.parseColor(car.getColorString())); 

畫出我的顏色而不阿爾法這工作得很好。但我想讓顏色更透明。有沒有一種好的方法來添加alpha做這種顏色,因爲我只能得到一個「ColorString」

回答

1

顏色被表示爲int和可以用十六進制表示法等0xAARRGGBB,這意味着Alpha,紅,綠,藍表示它。因此,每個值可以是0到255.因此,您可以通過一些操作實現您想要的功能。

如果你想重置阿爾法值,那麼,

int newColor = 0x10000000 | (Color.parseColor(car.getColorString()) & 0xFFFFFF); 

(0x10000000處意味着新的Alpha值 - 16大約是6.274%的α,因爲100%是255)
(0XFFFFFF意味着我們從只有RGB值一種顏色)

See also

0

您可以更改顏色的十六進制代碼上的兩個額外的數字在Android中的顏色的alpha。

看看在official colour documentation

所有你需要的是使用以下規則:

值總是以磅(#)字符開頭,然後由阿爾法紅 - 其次 在以下 格式之一綠 - 藍信息:

RGB

ARGB

RRGGBB

AARRGGBB