Как установить цвет текста TextView в коде?

в XML мы можем установить цвет текста с помощью

30 ответов


вы должны использовать:

holder.text.setTextColor(Color.RED);

для проверки здравомыслия я просто попробовал, потому что у меня все равно был открыт проект, и да, он хороший и красный ;D


вы можете использовать различные функции из Color класс, чтобы получить тот же эффект, конечно.

  • Color.parseColor (ручное) (как Лекс использует)

    text.setTextColor(Color.parseColor("#FFFFFF"));
    
  • Color.rgb и Color.argb (руководство rgb) (руководство формате ARGB) (как Ганапати использует)

    holder.text.setTextColor(Color.rgb(200,0,0));
    holder.text.setTextColor(Color.argb(0,200,0,0));
    
  • и конечно, если вы хотите определить свой цвет в , вы можете сделать это:

    <color name="errorColor">#f00</color>
    

    потому что getColor() функция является устаревшим1, вам нужно использовать его так:

    ContextCompat.getColor(context, R.color.your_color);
    
  • вы также можете вставить простой шестигранник, например:

    myTextView.setTextColor(0xAARRGGBB);
    

    где вы имеете альфа-канал сперва, тогда цвет значение.

Проверьте полное руководство, конечно,public class Color расширяет объект.


1этот код также был здесь:

textView.setTextColor(getResources().getColor(R.color.errorColor));

этот метод теперь устарел в Android M. Однако вы можете использовать его из contextCompat в библиотеке поддержки, как показывает пример.


если вы все еще хотите указать свои цвета в XML-файле:

<color name="errorColor">#f00</color>

затем ссылайтесь на него в своем коде одним из этих двух методов:

textView.setTextColor(getResources().getColor(R.color.errorColor, getResources().newTheme()));    

или

textView.setTextColor(getResources().getColor(R.color.errorColor, null));

первый, вероятно, предпочтительнее, если вы компилируете против Android M, однако тема, которую вы передаете, может быть нулевой, так что, может быть, это проще для вас?

и если вы используете библиотеку Compat, вы можете сделать что-то вроде этого

textView.setTextColor(ContextCompat.getColor(context, R.color.errorColor));

и еще один:

TextView text = (TextView) findViewById(R.id.text);
text.setTextColor(Color.parseColor("#FFFFFF"));

вы можете сделать это только из XML-файла.

создать color.xml файл в папке значения:

<?xml version="1.0" encoding="utf-8"?>
<resources>
    <color name="textbody">#ffcc33</color>

</resources>

затем в любом XML-файле вы можете установить цвет для текста, используя,

android:textColor="@color/textbody"

или вы можете использовать этот цвет в Java-файл:

final TextView tvchange12 = (TextView) findViewById(R.id.textView2);
//Set color for textbody from color.xml file
tvchange1.setTextColor(getResources().getColor(R.color.textbody));

можно использовать

holder.text.setTextColor(Color.rgb(200,0,0));

вы также можете указать, какой цвет вы хотите с прозрачностью.

holder.text.setTextColor(Color.argb(0,200,0,0));

a для Альфа (прозрачный) значение r-красный g-зеленый b-синий


используйте следующий код в layout.в XML

<TextView  android:id="@+id/textView1"    
android:layout_width="wrap_content"    
android:layout_height="wrap_content" 
android:text="@string/add"
android:layout_marginTop="16dp"
android:textAppearance="?
android:attr/textAppearanceMedium"
android:textColor="#25383C"
android:textSize="13sp" />

<TextView
        android:id="@+id/textView1"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/add"
        android:layout_marginTop="16dp"
        android:textAppearance="?android:attr/textAppearanceMedium"
        android:textColor="#25383C"
        android:textSize="13sp" />

существует много разных способов установить цвет в текстовом представлении.

  1. добавить значение цвета в studio res - > значения - >цвета.xml как

    <color name="color_purple">#800080</color>
    

    теперь установите цвет в классе xml или actvity как

    text.setTextColor(getResources().getColor(R.color.color_purple)
    
  2. если вы хотите дать цветовой код непосредственно использовать ниже цвета.parseColor code

    textView.setTextColor(Color.parseColor("#ffffff"));   
    
  3. вы также можете использовать RGB

    text.setTextColor(Color.rgb(200,0,0));
    
  4. Use также может использовать прямой hexcode для поле TextView. Вы также можете вставить простой HEX, например:

    text.setTextColor(0xAARRGGBB);
    
  5. вы также можете использовать argb с Альфа-значениями.

       text.setTextColor(Color.argb(0,200,0,0));
    

    a для Альфа (прозрачный) v.

  6. и если вы используете библиотеку Compat, вы можете сделать что-то вроде этого

       text.setTextColor(ContextCompat.getColor(context, R.color.color_purple));
    

обычно я делаю это для любых представлений:

myTextView.setTextColor(0xAARRGGBB);

здесь

  • AA определяет alpha (00 для прозрачного, FF для непрозрачного)

  • RRGGBB определяет обычный код цвета HTML (например, ff0000 для красного).


Если вы планируете использовать setTextAppearance вы должны знать, что он будет перезаписывать цвет текста со стилем, унаследованным от темы. Поэтому, если вы хотите использовать оба, установите цвет после.

это работает:

textView.setTextAppearance(context, android.R.style.TextAppearance_Medium);
textView.setTextColor(Color.RED);

в то время как это приведет к тому, что ваш textcolor будет, например, белым (для темной темы) или черным(для светлой темы):

textView.setTextColor(Color.RED);
textView.setTextAppearance(context, android.R.style.TextAppearance_Medium);

вопреки этому в XML порядок является произвольным.


Я считаю, что если вы хотите указать цвет в качестве ресурса (в XML file), вам придется предоставить его формате ARGB значение (не просто значение RGB).

попробуйте изменить значение цвета на #FFFF0000. Это должно дать вам красный цвет.


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

TextView tv = new TextView(this);
tv.setTextColor(Color.rgb(285,0,0));

textView.setTextColor(ContextCompat.getColor(getApplicationC‌​ontext(),R.color.col‌​orWhite)); 

на colors.xml файл, напишите в коде ниже:

<color name="colorWhite">#FFFFFF</color>

holder.text.setTextColor(Color.rgb(200,0,0));

или

myTextView.setTextColor(0xAARRGGBB);

С помощью адаптера вы можете установить цвет текста с помощью этого кода:

holder.text_view = (TextView) convertView.findViewById(R.id.text_view);
holder.text_view.setTextColor(Color.parseColor("#FF00FF"));

TextView text = new TextView(context);
text.setTextColor(Color.parseColor("any hex value of a color"));

выше код работает на моей стороне. Вот!--1--> это TextView на котором цвет необходимо установить.


text1.setTextColor(Color.parseColor("#000000"));

text.setTextColor(getResource().getColor(R.color.black)) У вас есть создать черный цвет в цвете.XML.

или

text.setTextColor(Color.parseColor("#000000")) здесь введите желаемый hexcode

или

text.setTextColor(Color.BLACK) вы можете использовать статические поля цвета


   textViewStatus.setTextColor(res.getColor(R.color.green));

В адаптер вы можете установить цвет текста, используя этот код:

holder.my_text_view = (TextView) convertView.findViewById(R.id.my_text_view);
holder.my_text_view.setTextColor(Color.parseColor("#FFFFFF"));

Если вы хотите дать цветовой код напрямую, используйте

textView.setTextColor(Color.parseColor("#ffffff"));

или если вы хотите дать цветовой код из папки цветов, используйте

textView.setTextColor(R.color.white);

чтобы установить цвет TextView,TextView.setTextColor(R.color.YOURCOLOR) не хватит!

Он должен использоваться так –

TextView myText = (TextView) findViewById(R.id.YoutTextViewID);

myText.setTextColor(getResources().getColor(R.color.YOURCOLOR);

или

myText.setTextColor(Color.parseColor("#54D66A"));

holder.userType.setTextColor(context.getResources().getColor(
                    R.color.green));

от API 23 и далее, getResources().getColor() устарела.

используйте этот код:

textView.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.color_black));

аналогично, я использовал color.xml:

<color name="white">#ffffff</color>
    <color name="black">#000000</color>   

настройки TextView фон, как:

textView.setTextColor(R.color.white);

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

textView.setTextColor(Color.parseColor("#ff6363"));

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

Мои Цвета.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 это объект контекста. Я не использую его из действия, а BaseAdapter в ListView. Вот почему я использовал этот объект Context.

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

надеюсь, что это помогает.


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


Если вы находитесь в адаптере и все еще хотите использовать цвет, определенный в ресурсах, вы можете попробовать следующий подход:

holder.text.setTextColor(holder.text.getContext().getResources().getColor(R.color.myRed));

TextView textresult = (TextView)findViewById(R.id.textView1);
textresult.setTextColor(Color.GREEN);

хеттолог() является depreceted

поэтому попробуйте так:

 tv_title.setTextColor(ContextCompat.getColor(getApplicationContext(), R.color.sf_white));

Я делал это для TextView в ViewHolder для RecyclerView. Я не уверен, почему, но это не сработало для меня в инициализации ViewHolder.

public ViewHolder(View itemView) {
    super(itemView);
    textView = (TextView) itemView.findViewById(R.id.text_view);
    textView.setTextColor(context.getResources().getColor(R.color.myColor));
    // Other stuff
}

но когда я переместил его в onBindViewHolder, он работал нормально.

public void onBindViewHolder(ViewHolder holder, int position){
    // Other stuff
    holder.textView.setTextColor(context.getResources().getColor(R.color.myColor));
}

надеюсь, это кому-то поможет.