До 4.x, вы можете сделать это:
<string name="error"><font fgcolor="#ff33b5e5">Error!</font></string>
Однако ошибка https://code.google.com/p/android/issues/detail?id=58192 сломал эту функцию, поскольку она представила целое синтаксический анализатор, который не может обрабатывать числа с наивысшим битом, и, к сожалению, вы не может опустить непрозрачность части цвета (которую большинство людей предпочло бы установить в ff, как в этом примере.)
Я только вчера узнал умную работу. То, что вы делаете, отрицает значение шестнадцатеричного цвета в дополнении к двум. Как вы это делаете, зависит от вашего шестнадцатеричного калькулятора, но самый простой способ - вычесть ваш цвет с 0x100000000. В вашем случае это приведет к 0x100000000 - 0xff33b5e5 = 0xcc4a1b. (Или вы можете просто инвертировать его, например, 00cc4a1a, который будет достаточно близко). Затем вы отрицаете это со знаком минуса:
<string name="error"><font fgcolor="-#cc4a1b">Error!</font></string>
и voilla! у вас есть желаемый цвет.
Престижность TWiStErRob для выяснения этого в https://stackoverflow.com/a/11577658/338479
ETA: Я только что обнаружил, что это приведет к сбою приложения, если вы делаете это в системе 2.x; он выбрасывает исключение NumberFormat
Что вы подразумеваете под цветным фоном или фоном. Цветовой код Hex - это код цвета. Вы хотите красную, зеленую, синюю комбинацию? –
Нет, мне нужно изменить цвет моей строки (текста). Вы можете увидеть его в теге , но есть только опция fgcolor и мой шестнадцатеричный код # 33b5e5 для синего цвета, но если я использую этот код в fgcolor, моя строка (текст) будет белой, а не голубой. – Adam
Например, если я использую мой текст красный, но мне нужно сделать текст синим в шестнадцатеричном цветовом коде # 33b5e5. – Adam