EditText通常用于显示文字,但有时候也需要在文字中夹杂一些图片,android中有个android.text包,这里提供了对文本的强大的处理功能。
简单应用示例:
SpannableStringBuilder spannable=new SpannableStringBuilder(getText().toString());
CharacterStyle span_1=new StyleSpan(android.graphics.Typeface.ITALIC);
//将需要的文字高亮显示
CharacterStyle span_2=new ForegroundColorSpan(Color.RED);
//加下划线
CharacterStyle span_3=new UnderlineSpan();
spannable.setSpan(span_1, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_2, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
spannable.setSpan(span_3, start, end, Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//加图片
ImageSpan span = new ImageSpan(drawable);
spannableStringBuilder.setSpan(span, start, end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
/追加文字
spannableStringBuilder.append("我只是个图文混排的测试");
//设置文字颜色
spannableStringBuilder.setSpan
(new ForegroundColorSpan(Color.RED), 1, 3, Spannable.SPAN_EXCLUSIVE_INCLUSIVE);
setText(spannable);