Как установить цвет текста TextView в коде? - PullRequest
504 голосов
/ 05 января 2011

В XML мы можем установить цвет текста с помощью атрибута textColor, например android:textColor="#FF0000". Но как я могу изменить это кодированием?

Я пробовал что-то вроде:

holder.text.setTextColor(R.color.Red);

Где holder это просто класс, а text имеет тип TextView. Красный - это значение RGB (# FF0000), заданное в строках.

Но он показывает другой цвет, а не красный. Какой тип параметра мы можем передать в setTextColor ()? В документации написано int, но является ли это ссылкой на ресурс или что-то еще?

Ответы [ 34 ]

0 голосов
/ 10 июля 2014

Вы можете использовать textView.setTextColor(Color.BLACK), чтобы использовать любой из встроенных цветов класса Color.

Вы также можете использовать textView.setTextColor(Color.parseColor(hexRGBvalue)) для определения пользовательских цветов.

0 голосов
/ 08 мая 2014

Для предоставления значений rgb: text.setTextColor(Color.rgb(200,0,0));
Для анализа цвета из шестнадцатеричного значения: text.setTextColor(Color.parseColor("#FFFFFF"));

0 голосов
/ 16 февраля 2019

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

TextView textview = (TextView) findViewById(R.id.textview );
textview .setTextColor(Color.parseColor("#85F85F"));
0 голосов
/ 17 октября 2014

Я сделал так: Создайте XML-файл с именем Colors в папке res / values.

My Colors.xml:

    <?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="vermelho_debito">#cc0000</color>
    <color name="azul_credito">#4c4cff</color>
    <color name="preto_bloqueado">#000000</color>
    <color name="verde_claro_fundo_lista">#CFDBC5</color>
    <color name="branco">#ffffff</color>
    <color name="amarelo_corrige">#cccc00</color>
    <color name="verde_confirma">#66b266</color>
</resources>

Чтобы получить эти цвета из XML-файла,Я использовал этот код: valor это TextView, а ctx это объект Context.Я использую его не из Activity, а через BaseAdapter для ListView.Вот почему я использовал этот объект контекста.

valor.setTextColor(ctx.getResources().getColor(R.color.azul_credito));

Надеюсь, это поможет.

...