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



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

1364   30  

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);
    

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

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


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, однако тема, которую вы передаете, может быть null, так что, может быть, это проще для вас?

и если вы используете библиотеку 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-синий

используйте следующий код в макете.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. добавить значение цвета в студии res - > значения - >цвета.xml как

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

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

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

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

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

    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 определяет Альфа (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"));

выше код работает на моей стороне. Здесь text это TextView на какой цвет необходимо установить.

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

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

или

text.setTextColor(Color.parseColor("#000000")) здесь введите нужный шестнадцатеричный код

или

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

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);

getColor () является устаревшим

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

 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));
}

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

Comments

    Ничего не найдено.