我正在为EditText写文本。可以用多种颜色显示文本作为
android:textColor
应改变整个文本的颜色。
请更新
答案 0 :(得分:1)
欢迎您将ForegroundColorSpan
和/或BackgroundColorSpan
应用于部分文字。
This sample project恰好适用BackgroundColorSpan
(以突出显示TextView
中的搜索结果),但同样的原则适用于ForegroundColorSpan
和EditText
小部件。
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);
}