2013.04.08——— android 关于部分文字加粗的问题
参考:[url]http://blog.csdn.net/garretly/article/details/6583802[/url]
汉字加粗的问题 网上有很多:
一行代码就可以实现
但是 我现在的需求是
给一个texitview里面部分文字加粗,所以上面的这个就不合适了,这个时候我想了以前设置文字点击和插入表情的方法,想着用span来实现
然后 使用的时候
这样 就 ok了
参考:[url]http://blog.csdn.net/garretly/article/details/6583802[/url]
汉字加粗的问题 网上有很多:
textView.getPaint().setFakeBoldText(true);//加粗
一行代码就可以实现
但是 我现在的需求是
给一个texitview里面部分文字加粗,所以上面的这个就不合适了,这个时候我想了以前设置文字点击和插入表情的方法,想着用span来实现
public class MyStyleSpan extends StyleSpan {
public MyStyleSpan(int style) {
super(style);
}
@Override
public int describeContents() {
// TODO Auto-generated method stub
return super.describeContents();
}
@Override
public int getSpanTypeId() {
return super.getSpanTypeId();
}
@Override
public int getStyle() {
return super.getStyle();
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setFakeBoldText(true);
super.updateDrawState(ds);
}
@Override
public void updateMeasureState(TextPaint paint) {
paint.setFakeBoldText(true);
super.updateMeasureState(paint);
}
@Override
public void writeToParcel(Parcel dest, int flags) {
// TODO Auto-generated method stub
super.writeToParcel(dest, flags);
}
}
然后 使用的时候
SpannableStringBuilder ssb = new SpannableStringBuilder(temp);
ssb.setSpan(new MyStyleSpan(Typeface.NORMAL), 138, 162, Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
mTvContent.setText(ssb);
mTvContent.setMovementMethod(LinkMovementMethod.getInstance());
这样 就 ok了