首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > 移动开发 >

施用TypefaceSpan

2012-08-09 
使用TypefaceSpanpackage de.myproject.text.styleimport android.graphics.Paintimport android.graphi

使用TypefaceSpan

package de.myproject.text.style;import android.graphics.Paint;import android.graphics.Typeface;import android.text.TextPaint;import android.text.style.TypefaceSpan;    public class CustomTypefaceSpan extends TypefaceSpan {        private final Typeface newType;        public CustomTypefaceSpan(String family, Typeface type) {            super(family);            newType = type;        }        @Override        public void updateDrawState(TextPaint ds) {            applyCustomTypeFace(ds, newType);        }        @Override        public void updateMeasureState(TextPaint paint) {            applyCustomTypeFace(paint, newType);        }        private static void applyCustomTypeFace(Paint paint, Typeface tf) {            int oldStyle;            Typeface old = paint.getTypeface();            if (old == null) {                oldStyle = 0;            } else {                oldStyle = old.getStyle();            }            int fake = oldStyle & ~tf.getStyle();            if ((fake & Typeface.BOLD) != 0) {                paint.setFakeBoldText(true);            }            if ((fake & Typeface.ITALIC) != 0) {                paint.setTextSkewX(-0.25f);            }            paint.setTypeface(tf);        }    }

热点排行