出现了什么问题?

private final SpannableStringBuilder mSpannableStringBuilder = new SpannableStringBuilder();Typeface   mCustomFont = Typeface.createFromAsset(getActivity().getAssets(), "fonts/DIN Alternate Bold.ttf");mSpannableStringBuilder.setSpan(mCustomFont , 0, mSpannableStringBuilder.toString().indexOf(Constants.N), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);textView.setText(mSpannableStringBuilder);
  • 设置字体无效,还是原生的字体

解决办法

  1. 自定义一个字体的类
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);    }}
  1. 然后设置字体的方法变化一下
private final SpannableStringBuilder mSpannableStringBuilder = new SpannableStringBuilder();Typeface   mCustomFont = Typeface.createFromAsset(getActivity().getAssets(), "fonts/DIN Alternate Bold.ttf");// mCustomFont-->>new CustomTypefaceSpan(textView.getText().toString()mSpannableStringBuilder.setSpan(new CustomTypefaceSpan(textView.getText().toString(),mCustomFont), 0, mSpannableStringBuilder.toString().indexOf(Constants.N), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);textView.setText(mSpannableStringBuilder);

更多相关文章

  1. Android(安卓)多选列表
  2. Android开机自动启动程序设置
  3. Android(安卓)OpenGL与3D应用开发之3D图形绘制
  4. android 代码设置间距
  5. Android(安卓)-- 隐藏式抽屉(SlidingDrawer)
  6. API 25 (Android(安卓)7.1.1 API) widget.Spinner
  7. android网变化广播接收
  8. android 备忘录之简单实现
  9. 支持设置文本的TextFloatingActionButton

随机推荐

  1. Android(安卓)Support Multidex原理分析
  2. android 调用系统日历
  3. android 图片叠加效果实现
  4. Android(安卓)发送通知 notification
  5. Android中Intent传值
  6. Android的ArrayAdapter
  7. Android(安卓)NDK之----- C调用Java [Get
  8. docker入门到进阶一
  9. 登录表单和iframe后台架构
  10. docker入门到进阶四