texto - textview android studio español




¿Cómo configurar el color del texto de TextView en código? (20)

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

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?


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.


Del mismo modo, estaba usando color.xml :

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

Para configurar el fondo de TextView como:

textView.setTextColor(R.color.white);

Estaba obteniendo un color diferente, pero cuando usé el siguiente código obtuve el color real.

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

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

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.


Hay muchas formas diferentes de configurar el color en la vista de texto.

  1. Agregue el valor del color en el estudio res-> values-> colors.xml as

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

    Ahora establece el color en xml o clase de actividad como

    text.setTextColor(getResources().getColor(R.color.color_purple)
    
  2. Si quieres dar un código de color directamente, utiliza el código de Color.parseColor

    textView.setTextColor(Color.parseColor("#ffffff"));   
    
  3. También puedes usar RGB

    text.setTextColor(Color.rgb(200,0,0));
    
  4. El uso también puede usar el código hexadecimal directo para textView. También puedes insertar HEX plano, así:

    text.setTextColor(0xAARRGGBB);
    
  5. También puedes usar argb con valores alfa.

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

    a para alfa (transparente) v.

  6. Y si está utilizando la biblioteca Compat, puede hacer algo como esto

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

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


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


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


Si aún desea especificar sus colores en su archivo XML:

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

Luego haz referencia en tu código con uno de estos dos métodos:

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

o

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

El primero es probablemente preferible si compilas contra Android M, sin embargo, el tema que transmites puede ser nulo, ¿quizás sea más fácil para ti?

Y si está utilizando la biblioteca Compat, puede hacer algo como esto

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

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.


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

Utilizar:

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

Y otro:

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

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" />

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


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

El código de arriba está trabajando de mi lado. Aquí el text es un TextView en el que se necesita establecer el color.


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

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

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






textview