android español - ¿Cómo configurar el color del texto de TextView en código?




obtener edit (25)

Para proporcionar valores rgb: text.setTextColor(Color.rgb(200,0,0));
Para analizar el color de un valor hexadecimal: text.setTextColor(Color.parseColor("#FFFFFF"));

En XML, podemos establecer un color de texto mediante el atributo textColor , como android:textColor="#FF0000" . Pero, ¿cómo lo cambio por codificación?

Probé algo como:

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

Donde el holder es solo una clase y el text es de tipo TextView . Rojo es un valor RGB (# FF0000) establecido en cadenas.

Pero muestra un color diferente en lugar de rojo. ¿Qué tipo de parámetro podemos pasar en setTextColor ()? En la documentación, dice int , pero ¿es un valor de referencia de recurso o algo más?


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

text.setTextColor(getResource().getColor(R.color.black)) ha creado un color negro en color.xml.

O

text.setTextColor(Color.parseColor("#000000")) aquí escriba el código hexadecimal deseado

O

text.setTextColor(Color.BLACK) puede usar campos de color estáticos


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

Si está en un adaptador y aún desea usar un color definido en recursos, puede probar el siguiente enfoque:

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

usa el siguiente código en 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" />

Utilizar:

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

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

En el archivo colors.xml , escriba el siguiente código:

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

Estaba haciendo esto para un TextView en un ViewHolder para un RecyclerView. No estoy muy seguro de por qué, pero no me funcionó en la inicialización de 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
}

Pero cuando lo moví a onBindViewHolder, funcionó bien.

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

Espero que esto ayude a alguien.


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

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

o

myTextView.setTextColor(0xAARRGGBB);

Normalmente hago esto para cualquier punto de vista:

myTextView.setTextColor(0xAARRGGBB);

dónde

  • AA define alfa (00 para transparente, FF para opaco)

  • RRGGBB define el código de color HTML normal (como FF0000 para rojo).


Deberías usar:

holder.text.setTextColor(Color.RED);

Para un control de cordura, lo probé, porque tenía un proyecto abierto de todos modos, y sí, es bonito y rojo; D

Puede usar varias funciones de la clase Color para obtener el mismo efecto, por supuesto.

  • Color.parseColor (Manual) (como utiliza LEX)

    text.setTextColor(Color.parseColor("#FFFFFF"));
    
  • Color.rgb y Color.argb ( Manual rgb ) ( Manual argb ) (como los usos de Ganapathy)

    holder.text.setTextColor(Color.rgb(200,0,0));
    holder.text.setTextColor(Color.argb(0,200,0,0));
    
  • Y, por supuesto, si desea definir su color en un archivo XML , puede hacer esto:

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

    Debido a que la función getColor() está en desuso 1 , debe usarla así:

    ContextCompat.getColor(context, R.color.your_color);
    
  • También puedes insertar HEX plano, así:

    myTextView.setTextColor(0xAARRGGBB);
    

    Donde tienes un canal alfa primero, luego el valor del color.

Echa un vistazo al manual completo, por supuesto, la clase pública Color extiende Objeto .

1 Este código solía estar aquí también:

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

Este método ahora está en desuso en Android M. Sin embargo, puede usarlo desde contextCompat en la biblioteca de soporte , como se muestra en el ejemplo.


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

Si planea utilizar setTextAppearance , debe saber que sobrescribirá el color del texto con el estilo heredado del tema. Así que si quieres usar ambos, establece el color después .

Esto funciona:

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

Si bien esto hará que su color de texto sea, por ejemplo, blanco (para el tema oscuro) o negro (para el tema claro):

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

Al contrario de esto, en XML el orden es arbitrario.


Hice lo siguiente: crear un archivo XML, llamado Colores en la carpeta res / values.

Mis colores.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>

Para obtener estos colores del archivo xml, he usado este código: valor es un TextView, y ctx es un objeto de contexto. No lo estoy usando de una Actividad, sino de un Adaptador de Base a un ListView. Es por eso que he usado este objeto de contexto.

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

Espero eso ayude.


Puedes usar

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

También puede especificar qué color desea con Transparencia.

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

a para valor alfa (transparente) r-rojo g-verde b-azul


Desde la API 23 en adelante, getResources().getColor() está en desuso.

Use esto en su lugar:

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

getColor () está en desuso

Así que intenta de esta manera:

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

Puedes hacer esto solo desde un archivo XML también.

Cree un archivo color.xml en la carpeta de valores:

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

</resources>

Luego, en cualquier archivo XML, puede establecer el color para el texto usando,

android:textColor="@color/textbody"

O puedes usar este color en un archivo Java:

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

Creo que si desea especificar un color como recurso (en el archivo XML ), deberá proporcionar su valor ARGB (no simplemente el valor RGB).

Intente cambiar su valor de color a #FFFF0000 . Debería darte RED.


Usando el adaptador puedes establecer el color del texto usando este código:

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

Si quieres dar un código de color directamente, usa

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

o si desea dar código de color de la carpeta de colores, utilice

textView.setTextColor(R.color.white);

¡Para establecer el color de un TextView, TextView.setTextColor(R.color.YOURCOLOR) no es suficiente!

Tiene que ser usado así.

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

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

O

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

Prueba Android x86 . Es mucho más rápido que el emulador de Android de Google. Sigue estos pasos:

  1. Instalar VirtualBox .
  2. Descargue el archivo ISO que necesita.
  3. Cree una máquina virtual como Linux 2.6 / Other Linux, 512 MB RAM, HD 2 GB. Red: PCnet-Fast III, adjunta a NAT . También puede usar un adaptador con puente, pero necesita un servidor DHCP en su entorno.
  4. Instala Android x86 en el emulador, ejecútalo.
  5. Presione Alt + F1 , escriba netcfg , recuerde la dirección IP, presione Alt + F7 .
  6. Ejecute cmd en su sistema Windows XP, cambie el directorio a su directorio de herramientas de Android, escriba adb connect <virtual_machine_IP> .
  7. ¡Inicie Eclipse, abra el complemento ADT, encuentre el dispositivo y disfrute!






android colors textview