Как установить цвет, используя целое число? - PullRequest
6 голосов
/ 13 декабря 2011

Как я могу конвертировать цветовой код в целое число, например: 13369395 для конкретных Android.Поскольку 13369395 также является целым числом, я попытался сделать

mainLayout.setTextColor(13369395);

, но он не работает.

Я также пытался преобразовать 13369395 в шестнадцатеричный код, например:

mainLayout.setBackgroundColor(Integer.parseInt(13369395 +"", 16)+0xFF000000);

, но это также не помогло.

Ответы [ 4 ]

7 голосов
/ 14 декабря 2011

Я получил решение.Просто поработайте с шестнадцатеричным, как показано ниже:

Integer.toHexString(colour);

, который возвращает шестнадцатеричную строку для вашего целого числа, опять же, если вы просто используете ее как

mainLayout.setBackgroundColor(Integer.parseInt(hexVal,16));

это не сработает.Вам нужно добавить маску как

mainLayout.setBackgroundColor(0xff000000 + Integer.parseInt(hexVal,16));

Это решило проблему

5 голосов
/ 06 ноября 2016

Попробуйте пройти:

mainLayout.setBackgroundColor(Color.parseColor("#FFFFFF"));
0 голосов
/ 21 марта 2016

Вопрос очень старый.Но все же я обнаружил, что этот ответ поможет кому-то, кто ищет способ установить цвет непосредственно как целое число.

Если вы посмотрите документацию для Android, постоянное значение для белого будет -1, а для черного - -16777216.(т. е.) весь диапазон значений цвета int (от -1 до -16777216).Таким образом, вы можете просто добавить целочисленное значение к -16777216.

Например, если вы хотите установить белый цвет с десятичным представлением 16777215 (0xffffff), то 16777215 - 16777216 даст вам -1 постоянную цвета для черногов андроид.

0 голосов
/ 13 декабря 2011

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

mainLayout.setBackgroundColor (# 0BB5FF);

...