Cómo cambiar el color del texto en el centro de la frase en android

Necesito cambiar el color de la cadena que aparece aleatoriamente en una oración.

Ej: Estas frases siguientes son lo que necesito mostrar.

  1. Hai #xyz cómo estás.

  2. Estoy aprendiendo #abc android.

    En esto tengo que cambiar el color de las palabras " #xyz ", " #abc " es decir, que comienza con el carácter " # ".

    He utilizado algunas funciones de cadena split (), subString (). Pero no estoy consiguiendo lo que necesito.

Así que, por favor, guíame cómo resolver esto.

3 Solutions collect form web for “Cómo cambiar el color del texto en el centro de la frase en android”

Utilice SpannableString para ex:

 SpannableString ss = new SpannableString("hai #xyz how are you."); ss.setSpan(new ForegroundColorSpan(Color.RED), 4, 9, 0); 

Intente seguir para cambiar el color de cada palabra con #:

 String s="hai #xyz how are you."; ForegroundColorSpan span = new ForegroundColorSpan(Color.RED); SpannableString ss = new SpannableString(s); String[] ss = s.split(" "); int currIndex = 0; for (String word : ss) { if (word.startsWith("#")) { ss.setSpan(span, currIndex,currIndex+ word.length(), 0); } currIndex += (word.length() + 1); } 

Puede utilizar este código:

 t.setText(first + next, BufferType.SPANNABLE); Spannable s = (Spannable)t.getText(); int start = first.length(); int end = start + next.length(); s.setSpan(new ForegroundColorSpan(0xFFFF0000), start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); 

O puede utilizar html:

 String first = "This word is "; String next = "<font color='#EE0000'>red</font>"; t.setText(Html.fromHtml(first + next)); 

Usted puede conseguir fácilmente esto usando etiquetas html

 tv_message.setText(Html.fromHtml("<font color=\"#000000\">"+"Hi "+"</font>"+" "+"<font color=\"#EE0000\">"+"XYZ "+"</font>"+" "+"<font color=\"#000000\">"+"How are You ? " + "</font>")); 
FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.