Как установить цвет, используя целое число?

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

mainLayout.setTextColor(13369395);

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

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

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

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

4 ответа

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

Integer.toHexString(colour);

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

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

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

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

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

Попробуйте передать:

mainLayout.setBackgroundColor(Color.parseColor("#FFFFFF"));

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

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

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

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

mainLayout.setBackgroundColor( #0BB5FF);

Другие вопросы по тегам