2014-10-10 3 views
0

Есть ли способ добавить aplha в цвет, который я могу получить из цветовой строки. Потому что теперь я могу сделать мой цвет без альфа, используя следующий кодИзменить Alpha на объект Color

 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())); 

Это прекрасно работает. Но я хочу сделать цвет более прозрачным. Есть ли хороший способ добавить альфу этого цвета, потому что я могу получить только «ColorString»

ответ

1

Цвет представлен в виде межд, и вы можете представить его с шестнадцатеричным как 0xAARRGGBB, что означает Альфа, красный, зеленый, синий. Поэтому каждое значение может быть от 0 до 255.

Таким образом, то, что вы хотите, может быть достигнуто с помощью некоторых бит-операций.

Если вы хотите сбросить значение альфа затем,

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

(0x10000000 означает, что новое значение альфа - 16, который составляет около 6,274% альфа, потому что 100% составляет 255)
(0xFFFFFF означает, мы принимаем только RgB значение из цвет)

See also

0

Вы можете изменить альфу цвета в андроиде двумя дополнительными цифрами на шестнадцатеричном коде цвета.

Посмотрите на official colour documentation

Все, что вам нужно будет применять следующие правила:

Значение всегда начинается с фунта (#) характер, а затем следуют в Альфа-красно- Green-Blue информацию в одном из следующих форматов:

RGB

ARGB

RRGGBB

AARRGGBB

Смежные вопросы