Как преобразовать R.color в цвет?

Android имеет 2 типа цветов: R.color и color В макете используется R.color (мне нужно holo_blue_light: 17170450 (0x01060012))

но функции (такие как setColor()) имеют другой тип ввода int (т.е. CYAN: -16711681 (0xff00ffff)).

Отрицание R.color возвращает неправильные цвета. Что делать, чтобы преобразовать их?

Ответ 1

Так как getResources().getColor теперь устарел, вы можете использовать:

ContextCompat.getColor(getResources(), R.color.idOfColour)

старый ответ

Использование

 getResources().getColor(R.color.idOfColour);

он возвращает цвет int, который вы ищете. Если цвет идет с Android, вы можете получить его идентификатор с помощью android.R.color.colourId

Ответ 2

  • Цвет из ресурсов, которые вы получаете через

    .

    GetResources() GetColor (R.color.color_id);

  • Цвет, который вы сохранили из вида (скажем, цвет фона или цвет текста), который будет выглядеть как ваш второй пример, вы можете пройти через

Color.parseColor(цвет строки)

Ответ 3

Почему не пытайтесь выравнивать цвет в режиме fowling

int colorCode = Color.parseColor("#ffffff") ;
setColor(colorCode) ;

Ответ 5

еще одна вещь, которую я хотел бы добавить

int color_int = ContextCompat.getColor(context, R.color.your_color);
Color colorName = new Color(color_int );

вы можете использовать colorName, как хотите