Cómo cambiar el color del texto de la parte del TextView?
Tengo simple textView controler en mi aplicación.
En este textView i establecer el texto "123456789" – el color del texto es negro.
Quiero que los tres últimos dígitos (789) se muestren con color de texto rojo.
¿Hay alguna manera sencilla de hacerlo sin utilizar dos controles textView
(Uno contendrá "123456" en negro y el segundo contendrá "789" en rojo)
Prueba esto:
Establecer TextView
como un HTML
utilizando SpannableTextView
String text = "<font color='black'>123456</font><font color='red'>789</font>"; textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
Puede utilizar SpannableString es una excelente manera de estilo de cadenas en un TextView
.
Manifestación
Correos
Puedes usar
myTextView.setText(Html.fromHtml(stringB + "<font color=red>" + stringA + "</font>);
Puede utilizar este método
public static final Spannable getColoredString(Context context, CharSequence text, int color) { Spannable spannable = new SpannableString(text); spannable.setSpan(new ForegroundColorSpan(color), 0, spannable.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); return spannable; }
Entonces más tarde usted llama está usando
textview.append(getColoredString(this, "Hi!", ContextCompact.getColor(this, R.color.red))); textview.append(getColoredString(this, "User", ContextCompact.getColor(this, R.color.green)));
Puede utilizar banners HTML en su clase java: Ejemplo:
textElement.setText(Html.fromHtml("123456 <fontcolor='#FF0000'>789</font>"));
O utilice el formato CData en su archivo XML: Ejemplo:
<string name="numbers"><![CDATA[123456<fontcolor="#FF0000">789</font>]]></string>
Espero que te haya ayudado;)