2014-12-23 2 views
1

В настоящее время я используюУказание цветов в форме (r, g, b)?

android:background="#rrggbb" 

Для определения цвета. Теперь мне нужно создать массивную таблицу с большим количеством цветов фона, которые у меня есть в списке как rgb (238,130,238) и т. Д.

Возможно ли использовать это вместо преобразования каждого номера в шестнадцатеричный?

как: андроид: фон = «(238130238)»

+4

Нет, вы не можете. В XML поддерживается только HEX. – pdegand59

+0

Спасибо. Как жаль. Похоже, мне придется написать сценарий для его преобразования. – Greg

+1

Очень сложный сценарий, я полагаю ...;) –

ответ

0

Если вы указываете цвет в файле XML, то вы должны использовать цвет шестнадцатеричной строки в виде «#RRGGBB».

Однако при использовании метода View.setBackGroundColor(int color) вы можете программно указать красные, зеленые и синие компоненты в качестве базовых 10-целых чисел. Вы можете установить правильный цвет, как так:

myView.setBackgroundColor(Color.rgb(238, 130, 238)); 
0

Это android:background="#rrggbb" является андроид тег и андроид рамки разбирает этот атрибут android:background и всегда ожидают шестнадцатеричное значение и преобразуется в соответствующий цвет. Его стандарт и эти стандарты должны соблюдаться.

Если вы хотите преобразовать его в пользовательский (r, g, b), это возможно, если вы можете отредактировать исходный код исходной среды Android и скомпилировать его в соответствии с вашими потребностями.

Или как предложено выше, используйте код Java.

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