您的位置:首页 > 其它

Spannable简介,设置个别字的颜色、字体等

2015-04-10 15:08 246 查看
TextView和EditText是用来显示文本的,有时需要给TextView中的个别字设置为超链接,或者设置个别字的颜色、字体等,那就需要用到Spannable对象,可以借助Spannable对象实现以上设置。


使用步骤:

SpannableString spannable = new SpannableString(str);
// SpannableStringBuilder spannable = new SpannableStringBuilder(str);
//创建各类Span
CharacterStyle span=new UnderlineSpan();
spannable.setSpan(span,start,end, Spannable.SPAN_INCLUSIVE_EXCLUSIVE);
//可以连续设置span
view.setText(spannable);

void android.text.SpannableString.setSpan(Object what, int start, int end, int flags)


setSpan会将start到end这间的文本设置成创建的span格式。span可以是图片格式。


各类Span示例

new URLSpan("http://www.baidu.com")
new BackgroundColorSpan(Color.RED)
new ForegroundColorSpan(Color.YELLOW)
new StyleSpan(android.graphics.Typeface.BOLD_ITALIC)
new UnderlineSpan();
new ImageSpan(drawable, ImageSpan.ALIGN_BASELINE);


Html.fromHtml()

只显示带文本的html可以用下面的方法处理html文件。
public static Spanned fromHtml (String source) 


显示带图片的html要用下面的方法处理html文件。
public static Spanned fromHtml (String source, Html.ImageGetter imageGetter, Html.TagHandler tagHandler) 


ImageGetter 为处理html中<img>的处理器,生成Drawable对象并返回。

创建ImageGetter 主要实现下面的方法,source为<img>标签中src属性的值。
public Drawable getDrawable(String source) 


示例:显示html带图片 (表情开发)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: