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?
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.
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);
you have to use spannable this will also allows you to increase some text's size, make it bold etc.... even put in some image.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With