Как установить цвет, используя целое число?
Как я могу конвертировать цветовой код в целое число например: 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);