Ответ 1
Вы можете использовать Spannable для достижения желаемого.
String text = "This is <font color='red'>red</font>. This is <font color='blue'>blue</font>.";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
Возможный дубликат:
Возможно ли иметь несколько стилей внутри TextView?
Я хочу, чтобы мой TextView отображал часть текста в красном, а другие - в черном. Содержимое (текст) создается динамически, и я не знаю, сколько слов будет красного цвета.
Есть ли способ сделать это, как в html-css?
Вы можете использовать Spannable для достижения желаемого.
String text = "This is <font color='red'>red</font>. This is <font color='blue'>blue</font>.";
textView.setText(Html.fromHtml(text), TextView.BufferType.SPANNABLE);
попробуйте этот путь
TextView tv = (TextView)findViewById(R.id.tv);
Spannable wordtoSpan = new SpannableString("I know just how to whisper, And I know just how to cry,I know just where to find the answers");
wordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 15, 30, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
wordtoSpan.setSpan(new ForegroundColorSpan(Color.RED), 5, 10, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
tv.setText(wordtoSpan);
В основном вы хотите SpannableString
Для полного примера см. this: