/** * 改变TextView部分字体的颜色 * * @param originalValue 整个字符串 * @param indexValue 需要改变的字 * @param color 改变的颜色 * @return */public static SpannableStringBuilder setTextViewColor(String originalValue, String indexValue, int color) {    SpannableStringBuilder builder = new SpannableStringBuilder(originalValue);    if (TextUtils.isEmpty(originalValue)) {        return builder;    }    for (int j = 0; j < originalValue.length(); j++) {        if (j + indexValue.length() <= originalValue.length()) {            String name = (String) originalValue.subSequence(j, j + indexValue.length());            if (name.equals(indexValue)) {                ForegroundColorSpan redSpan = new ForegroundColorSpan(color);                builder.setSpan(redSpan, j, j + indexValue.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);            }        }    }    return builder;}

 

/** * 改变TextView部分字体的颜色和大小 * * @param originalValue 整个字符串 * @param indexValue 需要改的部分 * @param color 需要改变的颜色 * @param size 需要改变的字体大小 * @param mIsBold 需要改变的字体是否加粗 * @return */public static SpannableStringBuilder setTextViewColorAndSize(String originalValue, String indexValue, int color, int size, boolean mIsBold) {    SpannableStringBuilder builder = new SpannableStringBuilder(originalValue);    if (TextUtils.isEmpty(originalValue)) {        return builder;    }    for (int j = 0; j < originalValue.length(); j++) {        if (j + indexValue.length() <= originalValue.length()) {            String name = (String) originalValue.subSequence(j, j + indexValue.length());            if (name.equals(indexValue)) {                ForegroundColorSpan redSpan = new ForegroundColorSpan(color);                builder.setSpan(new AbsoluteSizeSpan(size), j, j + indexValue.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);                int typeface;                if (!mIsBold) {                    typeface = Typeface.NORMAL;                } else {                    typeface = Typeface.BOLD;                }                builder.setSpan(new StyleSpan(typeface), j, j + indexValue.length(), Spannable.SPAN_INCLUSIVE_INCLUSIVE);                builder.setSpan(redSpan, j, j + indexValue.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);            }        }    }    return builder;}

 

点击链接加入群聊【编程之美】:https://jq.qq.com/?_wv=1027&k=9qYaAE3t

更多相关文章

  1. android gridview按钮边框和定制点击颜色
  2. android中改变标题栏的背景色
  3. android 之JSON
  4. Android(安卓)TextView里显示两种颜色
  5. Android(安卓)动画ObjectAnimator中height和translationY
  6. ImageButton动态改变按钮图片
  7. 2010.12.08——— android progressDialog
  8. android 按钮按下效果(文字颜色和按钮同时变化)
  9. android shape

随机推荐

  1. ROS & ANDROID
  2. 如何修改音乐的匹配字数
  3. android ERROR: unknown virtual device
  4. android intent和intent action大全
  5. Android中ClassLoader类加载机制
  6. android.mk 与 makefile文件的区别
  7. Android多点触控开发原理
  8. [转]Android的Handler总结
  9. Android(安卓)判断用户2G/3G/4G移动数据
  10. uckDuckGo 将成为欧盟 Android(安卓)设备