2013-06-05 4 views
0

У меня есть макет, который имеет цвет bg, настроенный пользователем. Пользователь заполняет 4 значения. R-G-B-AlphaУстановите цвет RGBA на макет

Но, я видел, что метод установки цвета в макете не принимает 4 значения. setBackgroundColor() просто принимает значение int.

Я искал парсер java от RGBA до HEX, но я не смог найти его.

Вы знакомы с парнем, где я могу найти его?

Спасибо.

+0

у вас есть 4 Int ARGB, и вы хотите получить шестнадцатеричный цвет? – Blackbelt

+0

точно, thats it. У меня что-то вроде: a = 0,5, r = 243, g = 200, b = 15 – Reinherd

+0

вам нужен цвет в rgba или argb? – Blackbelt

ответ

10

Попробуйте этот.

setBackgroundColor(Color.argb(a_int, r_int, g_int, b_int)); 
+0

alpha - значение от 0 до 1, поэтому не может быть целым числом. – Reinherd

+0

Вы делаете что-то вроде математики, например 'int alpha = float_alpha * 255', чтобы сделать трюк? – Reinherd

+0

Хорошо, эти математики сделали трюк. Спасибо. – Reinherd

-3

Цветовой код записи в color.xml в значениях папке-

<resources> 
<color name="white">#FFFFFFFF</color> 
<color name="black">#FF000000</color> 
<color name="red">#FFFF0000</color> 
<color name="blue">#FF0000FF</color> 

затем в коде установить фон макета

LinearLayout ll=find(...); 
ll.setBackgroundResource(R.color.white); 
+1

Это не определяет значение альфа. – Maaz

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