如何在Android中为TextView的一部分着色?

2022-09-02 20:00:49

我正在尝试更改 ? 中的某些单词(搜索结果)的颜色?我试图像这样使用ANSI颜色:TextView

text.setText("\u001B31;1m" + "someText");

但它不起作用。如何实现此目的?


答案 1

这将有助于您

Spannable WordtoSpan = new SpannableString("I know just how to whisper");        
WordtoSpan.setSpan(new ForegroundColorSpan(Color.BLUE), 5, 13, 
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textview.setText(WordtoSpan);

答案 2

您正在寻找和“可跨越字符串”为了更清楚的工作流程如下TextAppearanceSpan

  1. 从源字符串创建可跨越字符串
  2. 创建 TextAppearanceSpan 并通过调用在 SpannableString 上设置Span 方法进行设置
  3. 调用 textView.setText 方法,并将 SpannableString 作为参数

推荐