Это задокументировано на
http://developer.android.com/guide/appendix/faq/commontasks.html#selectingtext
посмотрите на второй способ, используя Spannable
.
В частности
// Get our EditText object.
EditText vw = (EditText)findViewById(R.id.text); // or new etc
// Set the EditText's text.
vw.setText("Italic, highlighted, bold.");
// Get the EditText's internal text storage
Spannable str = vw.getText();
// Create our span sections, and assign a format to each.
str.setSpan(new StyleSpan(android.graphics.Typeface.ITALIC), 0, 7, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new BackgroundColorSpan(0xFFFFFF00), 8, 19, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
str.setSpan(new StyleSpan(android.graphics.Typeface.BOLD), 21, str.length() - 1, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);