显示在textfield的色的文本

时间:2014-07-01 17:03:15

标签: android

我正在为EditText写文本。可以用多种颜色显示文本作为 android:textColor 应改变整个文本的颜色。 请更新

1 个答案:

答案 0 :(得分:1)

欢迎您将ForegroundColorSpan和/或BackgroundColorSpan应用于部分文字。

This sample project恰好适用BackgroundColorSpan(以突出显示TextView中的搜索结果),但同样的原则适用于ForegroundColorSpanEditText小部件。

  private void searchFor(String text) {
    TextView prose=(TextView)findViewById(R.id.prose);
    Spannable raw=new SpannableString(prose.getText());
    BackgroundColorSpan[] spans=raw.getSpans(0,
                                             raw.length(),
                                             BackgroundColorSpan.class);

    for (BackgroundColorSpan span : spans) {
      raw.removeSpan(span);
    }

    int index=TextUtils.indexOf(raw, text);

    while (index >= 0) {
      raw.setSpan(new BackgroundColorSpan(0xFF8B008B), index, index
          + text.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
      index=TextUtils.indexOf(raw, text, index + text.length());
    }

    prose.setText(raw);
  }