Change text color of one word in a TextView

cerealspiller picture cerealspiller · Aug 28, 2011 · Viewed 94.5k times · Source

I am looking for a way to change the color of a text of a single word in a TextView from within an Activity.

For example, with this:

String first = "This word is ";
String next = "red"
TextView t = (TextView) findViewById(R.id.textbox);
t.setText(first + next);

How would I change the color of the next text to red?

Answer

Dan picture Dan · Aug 28, 2011

Easiest way I know is to just use html.

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

But this will require you to rebuild the TextView when (if?) you want to change the color, which could cause a hassle.